Fix bug 603: "chown :root thingy" should work now.

This commit is contained in:
Rob Landley 2006-01-09 03:45:43 +00:00
parent e569553aa0
commit fb8c4983a6

View File

@ -17,8 +17,8 @@
#include <string.h> #include <string.h>
#include "busybox.h" #include "busybox.h"
static long uid; static uid_t uid = -1;
static long gid; static gid_t gid = -1;
static int (*chown_func)(const char *, uid_t, gid_t) = chown; 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, ':'); groupName = strchr(*argv, ':');
} }
gid = -1; /* Check for the username and groupname */
if (groupName) { if (groupName) {
*groupName++ = '\0'; *groupName++ = '\0';
gid = get_ug_id(groupName, bb_xgetgrnam); gid = get_ug_id(groupName, bb_xgetgrnam);
} }
if (--groupName != *argv) uid = get_ug_id(*argv, bb_xgetpwnam);
/* Now check for the username */
uid = get_ug_id(*argv, bb_xgetpwnam);
++argv; ++argv;
/* Ok, ready to do the deed now */ /* Ok, ready to do the deed now */