aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2000-07-28 16:22:51 +0000
committerEric Andersen <andersen@codepoet.org>2000-07-28 16:22:51 +0000
commit6150df320a8aa825d88d6382c51017f362f2aabe (patch)
treeac57f92c33e64d0914dd18f40e40b91cd13f4483
parentd5704686b14b9cd5ae588148269cad9d7f3f1e63 (diff)
downloadbusybox-w32-6150df320a8aa825d88d6382c51017f362f2aabe.tar.gz
busybox-w32-6150df320a8aa825d88d6382c51017f362f2aabe.tar.bz2
busybox-w32-6150df320a8aa825d88d6382c51017f362f2aabe.zip
Some cleanups, based on a patch from Ken Chalmers
-Erik
-rw-r--r--coreutils/id.c23
-rw-r--r--id.c23
2 files changed, 26 insertions, 20 deletions
diff --git a/coreutils/id.c b/coreutils/id.c
index 6af677404..ce5db52f0 100644
--- a/coreutils/id.c
+++ b/coreutils/id.c
@@ -2,7 +2,6 @@
2/* 2/*
3 * Mini id implementation for busybox 3 * Mini id implementation for busybox
4 * 4 *
5 *
6 * Copyright (C) 2000 by Randolph Chung <tausq@debian.org> 5 * Copyright (C) 2000 by Randolph Chung <tausq@debian.org>
7 * 6 *
8 * This program is free software; you can redistribute it and/or modify 7 * This program is free software; you can redistribute it and/or modify
@@ -33,7 +32,8 @@ extern int id_main(int argc, char **argv)
33{ 32{
34 int no_user = 0, no_group = 0, print_real = 0; 33 int no_user = 0, no_group = 0, print_real = 0;
35 char *cp, *user, *group; 34 char *cp, *user, *group;
36 unsigned long gid; 35 long gid;
36 long pwnam, grnam;
37 int opt; 37 int opt;
38 38
39 cp = user = group = NULL; 39 cp = user = group = NULL;
@@ -59,8 +59,8 @@ extern int id_main(int argc, char **argv)
59 user = argv[optind]; 59 user = argv[optind];
60 60
61 if (user == NULL) { 61 if (user == NULL) {
62 user = xmalloc(9); 62 user = xcalloc(9, sizeof(char));
63 group = xmalloc(9); 63 group = xcalloc(9, sizeof(char));
64 if (print_real) { 64 if (print_real) {
65 my_getpwuid(user, getuid()); 65 my_getpwuid(user, getuid());
66 my_getgrgid(group, getgid()); 66 my_getgrgid(group, getgid());
@@ -69,19 +69,22 @@ extern int id_main(int argc, char **argv)
69 my_getgrgid(group, getegid()); 69 my_getgrgid(group, getegid());
70 } 70 }
71 } else { 71 } else {
72 group = xmalloc(9); 72 group = xcalloc(9, sizeof(char));
73 gid = my_getpwnamegid(user); 73 gid = my_getpwnamegid(user);
74 my_getgrgid(group, gid); 74 my_getgrgid(group, gid);
75 } 75 }
76 76
77 pwnam=my_getpwnam(user);
78 grnam=my_getgrnam(group);
79 if (gid == -1 || pwnam==-1 || grnam==-1) {
80 fatalError("%s: No such user\n", user);
81 }
77 if (no_group) 82 if (no_group)
78 printf("%lu\n", my_getpwnam(user)); 83 printf("%ld\n", pwnam);
79 else if (no_user) 84 else if (no_user)
80 printf("%lu\n", my_getgrnam(group)); 85 printf("%ld\n", grnam);
81 else 86 else
82 printf("uid=%lu(%s) gid=%lu(%s)\n", 87 printf("uid=%ld(%s) gid=%ld(%s)\n", pwnam, user, grnam, group);
83 my_getpwnam(user), user, my_getgrnam(group), group);
84
85 return(0); 88 return(0);
86} 89}
87 90
diff --git a/id.c b/id.c
index 6af677404..ce5db52f0 100644
--- a/id.c
+++ b/id.c
@@ -2,7 +2,6 @@
2/* 2/*
3 * Mini id implementation for busybox 3 * Mini id implementation for busybox
4 * 4 *
5 *
6 * Copyright (C) 2000 by Randolph Chung <tausq@debian.org> 5 * Copyright (C) 2000 by Randolph Chung <tausq@debian.org>
7 * 6 *
8 * This program is free software; you can redistribute it and/or modify 7 * This program is free software; you can redistribute it and/or modify
@@ -33,7 +32,8 @@ extern int id_main(int argc, char **argv)
33{ 32{
34 int no_user = 0, no_group = 0, print_real = 0; 33 int no_user = 0, no_group = 0, print_real = 0;
35 char *cp, *user, *group; 34 char *cp, *user, *group;
36 unsigned long gid; 35 long gid;
36 long pwnam, grnam;
37 int opt; 37 int opt;
38 38
39 cp = user = group = NULL; 39 cp = user = group = NULL;
@@ -59,8 +59,8 @@ extern int id_main(int argc, char **argv)
59 user = argv[optind]; 59 user = argv[optind];
60 60
61 if (user == NULL) { 61 if (user == NULL) {
62 user = xmalloc(9); 62 user = xcalloc(9, sizeof(char));
63 group = xmalloc(9); 63 group = xcalloc(9, sizeof(char));
64 if (print_real) { 64 if (print_real) {
65 my_getpwuid(user, getuid()); 65 my_getpwuid(user, getuid());
66 my_getgrgid(group, getgid()); 66 my_getgrgid(group, getgid());
@@ -69,19 +69,22 @@ extern int id_main(int argc, char **argv)
69 my_getgrgid(group, getegid()); 69 my_getgrgid(group, getegid());
70 } 70 }
71 } else { 71 } else {
72 group = xmalloc(9); 72 group = xcalloc(9, sizeof(char));
73 gid = my_getpwnamegid(user); 73 gid = my_getpwnamegid(user);
74 my_getgrgid(group, gid); 74 my_getgrgid(group, gid);
75 } 75 }
76 76
77 pwnam=my_getpwnam(user);
78 grnam=my_getgrnam(group);
79 if (gid == -1 || pwnam==-1 || grnam==-1) {
80 fatalError("%s: No such user\n", user);
81 }
77 if (no_group) 82 if (no_group)
78 printf("%lu\n", my_getpwnam(user)); 83 printf("%ld\n", pwnam);
79 else if (no_user) 84 else if (no_user)
80 printf("%lu\n", my_getgrnam(group)); 85 printf("%ld\n", grnam);
81 else 86 else
82 printf("uid=%lu(%s) gid=%lu(%s)\n", 87 printf("uid=%ld(%s) gid=%ld(%s)\n", pwnam, user, grnam, group);
83 my_getpwnam(user), user, my_getgrnam(group), group);
84
85 return(0); 88 return(0);
86} 89}
87 90