summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2008-06-27 22:31:07 +0000
committerDenis Vlasenko2008-06-27 22:31:07 +0000
commitb75fe798bb26fbf16a3251decd72bc20b44a00c5 (patch)
treecc11b07df97c84c6fb90c8c6913726b8dd25eec6
parentce02b157beff1a8031595364c2fb654034e608b5 (diff)
downloadbusybox-b75fe798bb26fbf16a3251decd72bc20b44a00c5.zip
busybox-b75fe798bb26fbf16a3251decd72bc20b44a00c5.tar.gz
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 b2b1913..c34c06a 100644
--- a/coreutils/stat.c
+++ b/coreutils/stat.c
@@ -240,14 +240,14 @@ static void print_stat(char *pformat, const char m,
} else if (m == 'U') {
setpwent();
pw_ent = getpwuid(statbuf->st_uid);
- printfs(pformat, (pw_ent != 0L) ? pw_ent->pw_name : "UNKNOWN");
+ printfs(pformat, (pw_ent != NULL) ? pw_ent->pw_name : "UNKNOWN");
} else if (m == 'g') {
strcat(pformat, "lu");
printf(pformat, (unsigned long) statbuf->st_gid);
} else if (m == 'G') {
setgrent();
gw_ent = getgrgid(statbuf->st_gid);
- printfs(pformat, (gw_ent != 0L) ? gw_ent->gr_name : "UNKNOWN");
+ printfs(pformat, (gw_ent != NULL) ? gw_ent->gr_name : "UNKNOWN");
} else if (m == 't') {
strcat(pformat, "lx");
printf(pformat, (unsigned long) major(statbuf->st_rdev));
@@ -609,9 +609,9 @@ static bool do_stat(const char *filename, const char *format)
(unsigned long) (statbuf.st_mode & (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)),
bb_mode_string(statbuf.st_mode),
(unsigned long) statbuf.st_uid,
- (pw_ent != 0L) ? pw_ent->pw_name : "UNKNOWN",
+ (pw_ent != NULL) ? pw_ent->pw_name : "UNKNOWN",
(unsigned long) statbuf.st_gid,
- (gw_ent != 0L) ? gw_ent->gr_name : "UNKNOWN");
+ (gw_ent != NULL) ? gw_ent->gr_name : "UNKNOWN");
#if ENABLE_SELINUX
printf(" S_Context: %lc\n", *scontext);
#endif
diff --git a/miscutils/man.c b/miscutils/man.c
index 0203106..9ef1ef4 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)
return 1;
}
- cmd = xasprintf("%s '%s' | gtbl | nroff -Tlatin1 -mandoc | %s",
+ /* "2>&1" added so that nroff errors are shown in pager too.
+ * Otherwise it may show just empty screen */
+ cmd = xasprintf("%s '%s' | gtbl | nroff -Tlatin1 -mandoc 2>&1 | %s",
unpacker, man_filename, pager);
system(cmd);
free(cmd);
@@ -123,6 +125,11 @@ int man_main(int argc ATTRIBUTE_UNUSED, char **argv)
fclose(cf);
}
+// TODO: my man3/getpwuid.3.gz contains just one line:
+// .so man3/getpwnam.3
+// (and I _dont_ have man3/getpwnam.3, I have man3/getpwnam.3.gz)
+// need to support this...
+
not_found = 0;
do { /* for each argv[] */
int found = 0;