diff options
author | Rob Landley <rob@landley.net> | 2006-01-09 03:45:43 +0000 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2006-01-09 03:45:43 +0000 |
commit | fb8c4983a6ef4128660f7db35a2e491a01ddc722 (patch) | |
tree | 931dd70e8ff27cd1d748a8825b9919bd063add3c | |
parent | e569553aa0e510117b2b671e036a9de62cde91c9 (diff) | |
download | busybox-fb8c4983a6ef4128660f7db35a2e491a01ddc722.tar.gz |
Fix bug 603: "chown :root thingy" should work now.
-rw-r--r-- | coreutils/chown.c | 11 |
1 files changed, 4 insertions, 7 deletions
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 <string.h> #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 */ |