aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-06-27 22:31:07 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-06-27 22:31:07 +0000
commitb75fe798bb26fbf16a3251decd72bc20b44a00c5 (patch)
treecc11b07df97c84c6fb90c8c6913726b8dd25eec6
parentce02b157beff1a8031595364c2fb654034e608b5 (diff)
downloadbusybox-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.c8
-rw-r--r--miscutils/man.c9
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;