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 /coreutils/chown.c | |
parent | e569553aa0e510117b2b671e036a9de62cde91c9 (diff) | |
download | busybox-w32-fb8c4983a6ef4128660f7db35a2e491a01ddc722.tar.gz busybox-w32-fb8c4983a6ef4128660f7db35a2e491a01ddc722.tar.bz2 busybox-w32-fb8c4983a6ef4128660f7db35a2e491a01ddc722.zip |
Fix bug 603: "chown :root thingy" should work now.
Diffstat (limited to 'coreutils/chown.c')
-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 @@ | |||
17 | #include <string.h> | 17 | #include <string.h> |
18 | #include "busybox.h" | 18 | #include "busybox.h" |
19 | 19 | ||
20 | static long uid; | 20 | static uid_t uid = -1; |
21 | static long gid; | 21 | static gid_t gid = -1; |
22 | 22 | ||
23 | static int (*chown_func)(const char *, uid_t, gid_t) = chown; | 23 | static int (*chown_func)(const char *, uid_t, gid_t) = chown; |
24 | 24 | ||
@@ -57,15 +57,12 @@ int chown_main(int argc, char **argv) | |||
57 | groupName = strchr(*argv, ':'); | 57 | groupName = strchr(*argv, ':'); |
58 | } | 58 | } |
59 | 59 | ||
60 | gid = -1; | 60 | /* Check for the username and groupname */ |
61 | if (groupName) { | 61 | if (groupName) { |
62 | *groupName++ = '\0'; | 62 | *groupName++ = '\0'; |
63 | gid = get_ug_id(groupName, bb_xgetgrnam); | 63 | gid = get_ug_id(groupName, bb_xgetgrnam); |
64 | } | 64 | } |
65 | 65 | if (--groupName != *argv) uid = get_ug_id(*argv, bb_xgetpwnam); | |
66 | /* Now check for the username */ | ||
67 | uid = get_ug_id(*argv, bb_xgetpwnam); | ||
68 | |||
69 | ++argv; | 66 | ++argv; |
70 | 67 | ||
71 | /* Ok, ready to do the deed now */ | 68 | /* Ok, ready to do the deed now */ |