From: Rob Landley Date: Mon, 9 Jan 2006 03:45:43 +0000 (-0000) Subject: Fix bug 603: "chown :root thingy" should work now. X-Git-Tag: 1_1_0~367 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fb8c4983a6ef4128660f7db35a2e491a01ddc722;p=oweals%2Fbusybox.git Fix bug 603: "chown :root thingy" should work now. --- diff --git a/coreutils/chown.c b/coreutils/chown.c index 98f9d9788..888c3fc89 100644 --- a/coreutils/chown.c +++ b/coreutils/chown.c @@ -17,8 +17,8 @@ #include #include "busybox.h" -static long uid; -static long gid; +static uid_t uid = -1; +static gid_t gid = -1; static int (*chown_func)(const char *, uid_t, gid_t) = chown; @@ -57,15 +57,12 @@ int chown_main(int argc, char **argv) groupName = strchr(*argv, ':'); } - gid = -1; + /* Check for the username and groupname */ if (groupName) { *groupName++ = '\0'; gid = get_ug_id(groupName, bb_xgetgrnam); } - - /* Now check for the username */ - uid = get_ug_id(*argv, bb_xgetpwnam); - + if (--groupName != *argv) uid = get_ug_id(*argv, bb_xgetpwnam); ++argv; /* Ok, ready to do the deed now */