aboutsummaryrefslogtreecommitdiff
path: root/toys/other/makedevs.c
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2016-08-18 21:33:27 -0500
committerRob Landley <rob@landley.net>2016-08-18 21:33:27 -0500
commit3d64b0cc95c5957e53474c3e50f143c61a057104 (patch)
tree0c32cb7e4d104aa5d3c1f7ee0dcb7ac1f45f3a20 /toys/other/makedevs.c
parent05e1582ec435932a25db21fd3ae71fbf62a4b45d (diff)
downloadtoybox-3d64b0cc95c5957e53474c3e50f143c61a057104.tar.gz
Change xgetpwnamid/xgetgrnamid to xgetuid/xgetgid returning the id number
instead of a struct. This means it can return "12345" even if that user/group doesn't exist in /etc/passwd and similar. All the users were immediately dereferencing it to get pw_uid or gr_gid anyway, so just return it directly and adjust the users. This fixes things like "chown 12345:23456 filename".
Diffstat (limited to 'toys/other/makedevs.c')
-rw-r--r--toys/other/makedevs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/toys/other/makedevs.c b/toys/other/makedevs.c
index ed91fd93..5e6a9822 100644
--- a/toys/other/makedevs.c
+++ b/toys/other/makedevs.c
@@ -78,8 +78,8 @@ void makedevs_main()
continue;
} else mode |= (mode_t[]){S_IFIFO, S_IFCHR, S_IFBLK, 0, 0}[i];
- uid = *user ? xgetpwnamid(user)->pw_uid : getuid();
- gid = *group ? xgetgrnamid(group)->gr_gid : getgid();
+ uid = *user ? xgetuid(user) : getuid();
+ gid = *group ? xgetgid(group) : getgid();
while (*node == '/') node++; // using relative path