From fb8c4983a6ef4128660f7db35a2e491a01ddc722 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 9 Jan 2006 03:45:43 +0000 Subject: Fix bug 603: "chown :root thingy" should work now. --- coreutils/chown.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'coreutils') 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 */ -- cgit v1.2.3