diff options
author | Mark Whitley <markw@lineo.com> | 2000-07-19 19:38:13 +0000 |
---|---|---|
committer | Mark Whitley <markw@lineo.com> | 2000-07-19 19:38:13 +0000 |
commit | aa4f108338edeac0c69962aea5607a2c1d5ff0ec (patch) | |
tree | 00e59087a8a429372e018f08b2e4716f3f6575b3 | |
parent | 27a804246af28c5d3d1f69d93049e3e21492bc48 (diff) | |
download | busybox-w32-aa4f108338edeac0c69962aea5607a2c1d5ff0ec.tar.gz busybox-w32-aa4f108338edeac0c69962aea5607a2c1d5ff0ec.tar.bz2 busybox-w32-aa4f108338edeac0c69962aea5607a2c1d5ff0ec.zip |
Converted option parsing to getopt() and made some minor formatting changes.
-rw-r--r-- | coreutils/id.c | 39 | ||||
-rw-r--r-- | id.c | 39 |
2 files changed, 42 insertions, 36 deletions
diff --git a/coreutils/id.c b/coreutils/id.c index 56a2e279f..4c524a225 100644 --- a/coreutils/id.c +++ b/coreutils/id.c | |||
@@ -33,28 +33,30 @@ extern int id_main(int argc, char **argv) | |||
33 | int no_user = 0, no_group = 0, print_real = 0; | 33 | int no_user = 0, no_group = 0, print_real = 0; |
34 | char *cp, *user, *group; | 34 | char *cp, *user, *group; |
35 | unsigned long gid; | 35 | unsigned long gid; |
36 | int opt; | ||
36 | 37 | ||
37 | cp = user = group = NULL; | 38 | cp = user = group = NULL; |
38 | 39 | ||
39 | argc--; argv++; | 40 | while ((opt = getopt(argc, argv, "ugr")) > 0) { |
40 | 41 | switch (opt) { | |
41 | while (argc > 0) { | 42 | case 'u': |
42 | cp = *argv; | 43 | no_group++; |
43 | if (*cp == '-') { | 44 | break; |
44 | switch (*++cp) { | 45 | case 'g': |
45 | case 'u': no_group = 1; break; | 46 | no_user++; |
46 | case 'g': no_user = 1; break; | 47 | break; |
47 | case 'r': print_real = 1; break; | 48 | case 'r': |
48 | default: usage(id_usage); | 49 | print_real++; |
49 | } | 50 | break; |
50 | } else { | 51 | default: |
51 | user = cp; | 52 | usage(id_usage); |
52 | } | 53 | } |
53 | argc--; argv++; | ||
54 | } | 54 | } |
55 | 55 | ||
56 | if (no_user && no_group) usage(id_usage); | 56 | if (no_user && no_group) usage(id_usage); |
57 | 57 | ||
58 | user = argv[optind]; | ||
59 | |||
58 | if (user == NULL) { | 60 | if (user == NULL) { |
59 | user = xmalloc(9); | 61 | user = xmalloc(9); |
60 | group = xmalloc(9); | 62 | group = xmalloc(9); |
@@ -71,12 +73,13 @@ extern int id_main(int argc, char **argv) | |||
71 | my_getgrgid(group, gid); | 73 | my_getgrgid(group, gid); |
72 | } | 74 | } |
73 | 75 | ||
74 | if (no_group) printf("%lu\n", my_getpwnam(user)); | 76 | if (no_group) |
75 | else if (no_user) printf("%lu\n", my_getgrnam(group)); | 77 | printf("%lu\n", my_getpwnam(user)); |
78 | else if (no_user) | ||
79 | printf("%lu\n", my_getgrnam(group)); | ||
76 | else | 80 | else |
77 | printf("uid=%lu(%s) gid=%lu(%s)\n", | 81 | printf("uid=%lu(%s) gid=%lu(%s)\n", |
78 | my_getpwnam(user), user, my_getgrnam(group), group); | 82 | my_getpwnam(user), user, my_getgrnam(group), group); |
79 | |||
80 | 83 | ||
81 | return(0); | 84 | return(0); |
82 | } | 85 | } |
@@ -33,28 +33,30 @@ extern int id_main(int argc, char **argv) | |||
33 | int no_user = 0, no_group = 0, print_real = 0; | 33 | int no_user = 0, no_group = 0, print_real = 0; |
34 | char *cp, *user, *group; | 34 | char *cp, *user, *group; |
35 | unsigned long gid; | 35 | unsigned long gid; |
36 | int opt; | ||
36 | 37 | ||
37 | cp = user = group = NULL; | 38 | cp = user = group = NULL; |
38 | 39 | ||
39 | argc--; argv++; | 40 | while ((opt = getopt(argc, argv, "ugr")) > 0) { |
40 | 41 | switch (opt) { | |
41 | while (argc > 0) { | 42 | case 'u': |
42 | cp = *argv; | 43 | no_group++; |
43 | if (*cp == '-') { | 44 | break; |
44 | switch (*++cp) { | 45 | case 'g': |
45 | case 'u': no_group = 1; break; | 46 | no_user++; |
46 | case 'g': no_user = 1; break; | 47 | break; |
47 | case 'r': print_real = 1; break; | 48 | case 'r': |
48 | default: usage(id_usage); | 49 | print_real++; |
49 | } | 50 | break; |
50 | } else { | 51 | default: |
51 | user = cp; | 52 | usage(id_usage); |
52 | } | 53 | } |
53 | argc--; argv++; | ||
54 | } | 54 | } |
55 | 55 | ||
56 | if (no_user && no_group) usage(id_usage); | 56 | if (no_user && no_group) usage(id_usage); |
57 | 57 | ||
58 | user = argv[optind]; | ||
59 | |||
58 | if (user == NULL) { | 60 | if (user == NULL) { |
59 | user = xmalloc(9); | 61 | user = xmalloc(9); |
60 | group = xmalloc(9); | 62 | group = xmalloc(9); |
@@ -71,12 +73,13 @@ extern int id_main(int argc, char **argv) | |||
71 | my_getgrgid(group, gid); | 73 | my_getgrgid(group, gid); |
72 | } | 74 | } |
73 | 75 | ||
74 | if (no_group) printf("%lu\n", my_getpwnam(user)); | 76 | if (no_group) |
75 | else if (no_user) printf("%lu\n", my_getgrnam(group)); | 77 | printf("%lu\n", my_getpwnam(user)); |
78 | else if (no_user) | ||
79 | printf("%lu\n", my_getgrnam(group)); | ||
76 | else | 80 | else |
77 | printf("uid=%lu(%s) gid=%lu(%s)\n", | 81 | printf("uid=%lu(%s) gid=%lu(%s)\n", |
78 | my_getpwnam(user), user, my_getgrnam(group), group); | 82 | my_getpwnam(user), user, my_getgrnam(group), group); |
79 | |||
80 | 83 | ||
81 | return(0); | 84 | return(0); |
82 | } | 85 | } |