diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-27 22:31:07 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-27 22:31:07 +0000 |
| commit | b75fe798bb26fbf16a3251decd72bc20b44a00c5 (patch) | |
| tree | cc11b07df97c84c6fb90c8c6913726b8dd25eec6 | |
| parent | ce02b157beff1a8031595364c2fb654034e608b5 (diff) | |
| download | busybox-w32-b75fe798bb26fbf16a3251decd72bc20b44a00c5.tar.gz busybox-w32-b75fe798bb26fbf16a3251decd72bc20b44a00c5.tar.bz2 busybox-w32-b75fe798bb26fbf16a3251decd72bc20b44a00c5.zip | |
stat: pointers are not 0L, they are NULL
man: better error handling
| -rw-r--r-- | coreutils/stat.c | 8 | ||||
| -rw-r--r-- | miscutils/man.c | 9 |
2 files changed, 12 insertions, 5 deletions
diff --git a/coreutils/stat.c b/coreutils/stat.c index b2b1913a9..c34c06acb 100644 --- a/coreutils/stat.c +++ b/coreutils/stat.c | |||
| @@ -240,14 +240,14 @@ static void print_stat(char *pformat, const char m, | |||
| 240 | } else if (m == 'U') { | 240 | } else if (m == 'U') { |
| 241 | setpwent(); | 241 | setpwent(); |
| 242 | pw_ent = getpwuid(statbuf->st_uid); | 242 | pw_ent = getpwuid(statbuf->st_uid); |
| 243 | printfs(pformat, (pw_ent != 0L) ? pw_ent->pw_name : "UNKNOWN"); | 243 | printfs(pformat, (pw_ent != NULL) ? pw_ent->pw_name : "UNKNOWN"); |
| 244 | } else if (m == 'g') { | 244 | } else if (m == 'g') { |
| 245 | strcat(pformat, "lu"); | 245 | strcat(pformat, "lu"); |
| 246 | printf(pformat, (unsigned long) statbuf->st_gid); | 246 | printf(pformat, (unsigned long) statbuf->st_gid); |
| 247 | } else if (m == 'G') { | 247 | } else if (m == 'G') { |
| 248 | setgrent(); | 248 | setgrent(); |
| 249 | gw_ent = getgrgid(statbuf->st_gid); | 249 | gw_ent = getgrgid(statbuf->st_gid); |
| 250 | printfs(pformat, (gw_ent != 0L) ? gw_ent->gr_name : "UNKNOWN"); | 250 | printfs(pformat, (gw_ent != NULL) ? gw_ent->gr_name : "UNKNOWN"); |
| 251 | } else if (m == 't') { | 251 | } else if (m == 't') { |
| 252 | strcat(pformat, "lx"); | 252 | strcat(pformat, "lx"); |
| 253 | printf(pformat, (unsigned long) major(statbuf->st_rdev)); | 253 | printf(pformat, (unsigned long) major(statbuf->st_rdev)); |
| @@ -609,9 +609,9 @@ static bool do_stat(const char *filename, const char *format) | |||
| 609 | (unsigned long) (statbuf.st_mode & (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)), | 609 | (unsigned long) (statbuf.st_mode & (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)), |
| 610 | bb_mode_string(statbuf.st_mode), | 610 | bb_mode_string(statbuf.st_mode), |
| 611 | (unsigned long) statbuf.st_uid, | 611 | (unsigned long) statbuf.st_uid, |
| 612 | (pw_ent != 0L) ? pw_ent->pw_name : "UNKNOWN", | 612 | (pw_ent != NULL) ? pw_ent->pw_name : "UNKNOWN", |
| 613 | (unsigned long) statbuf.st_gid, | 613 | (unsigned long) statbuf.st_gid, |
| 614 | (gw_ent != 0L) ? gw_ent->gr_name : "UNKNOWN"); | 614 | (gw_ent != NULL) ? gw_ent->gr_name : "UNKNOWN"); |
| 615 | #if ENABLE_SELINUX | 615 | #if ENABLE_SELINUX |
| 616 | printf(" S_Context: %lc\n", *scontext); | 616 | printf(" S_Context: %lc\n", *scontext); |
| 617 | #endif | 617 | #endif |
diff --git a/miscutils/man.c b/miscutils/man.c index 020310677..9ef1ef4a6 100644 --- a/miscutils/man.c +++ b/miscutils/man.c | |||
| @@ -35,7 +35,9 @@ static int run_pipe(const char *unpacker, const char *pager, char *man_filename) | |||
| 35 | return 1; | 35 | return 1; |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | cmd = xasprintf("%s '%s' | gtbl | nroff -Tlatin1 -mandoc | %s", | 38 | /* "2>&1" added so that nroff errors are shown in pager too. |
| 39 | * Otherwise it may show just empty screen */ | ||
| 40 | cmd = xasprintf("%s '%s' | gtbl | nroff -Tlatin1 -mandoc 2>&1 | %s", | ||
| 39 | unpacker, man_filename, pager); | 41 | unpacker, man_filename, pager); |
| 40 | system(cmd); | 42 | system(cmd); |
| 41 | free(cmd); | 43 | free(cmd); |
| @@ -123,6 +125,11 @@ int man_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 123 | fclose(cf); | 125 | fclose(cf); |
| 124 | } | 126 | } |
| 125 | 127 | ||
| 128 | // TODO: my man3/getpwuid.3.gz contains just one line: | ||
| 129 | // .so man3/getpwnam.3 | ||
| 130 | // (and I _dont_ have man3/getpwnam.3, I have man3/getpwnam.3.gz) | ||
| 131 | // need to support this... | ||
| 132 | |||
| 126 | not_found = 0; | 133 | not_found = 0; |
| 127 | do { /* for each argv[] */ | 134 | do { /* for each argv[] */ |
| 128 | int found = 0; | 135 | int found = 0; |
