stat: pointers are not 0L, they are NULL
man: better error handling
This commit is contained in:
parent
ce02b157be
commit
b75fe798bb
@ -240,14 +240,14 @@ static void print_stat(char *pformat, const char m,
|
|||||||
} else if (m == 'U') {
|
} else if (m == 'U') {
|
||||||
setpwent();
|
setpwent();
|
||||||
pw_ent = getpwuid(statbuf->st_uid);
|
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') {
|
} else if (m == 'g') {
|
||||||
strcat(pformat, "lu");
|
strcat(pformat, "lu");
|
||||||
printf(pformat, (unsigned long) statbuf->st_gid);
|
printf(pformat, (unsigned long) statbuf->st_gid);
|
||||||
} else if (m == 'G') {
|
} else if (m == 'G') {
|
||||||
setgrent();
|
setgrent();
|
||||||
gw_ent = getgrgid(statbuf->st_gid);
|
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') {
|
} else if (m == 't') {
|
||||||
strcat(pformat, "lx");
|
strcat(pformat, "lx");
|
||||||
printf(pformat, (unsigned long) major(statbuf->st_rdev));
|
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)),
|
(unsigned long) (statbuf.st_mode & (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)),
|
||||||
bb_mode_string(statbuf.st_mode),
|
bb_mode_string(statbuf.st_mode),
|
||||||
(unsigned long) statbuf.st_uid,
|
(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,
|
(unsigned long) statbuf.st_gid,
|
||||||
(gw_ent != 0L) ? gw_ent->gr_name : "UNKNOWN");
|
(gw_ent != NULL) ? gw_ent->gr_name : "UNKNOWN");
|
||||||
#if ENABLE_SELINUX
|
#if ENABLE_SELINUX
|
||||||
printf(" S_Context: %lc\n", *scontext);
|
printf(" S_Context: %lc\n", *scontext);
|
||||||
#endif
|
#endif
|
||||||
|
@ -35,7 +35,9 @@ static int run_pipe(const char *unpacker, const char *pager, char *man_filename)
|
|||||||
return 1;
|
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);
|
unpacker, man_filename, pager);
|
||||||
system(cmd);
|
system(cmd);
|
||||||
free(cmd);
|
free(cmd);
|
||||||
@ -123,6 +125,11 @@ int man_main(int argc ATTRIBUTE_UNUSED, char **argv)
|
|||||||
fclose(cf);
|
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;
|
not_found = 0;
|
||||||
do { /* for each argv[] */
|
do { /* for each argv[] */
|
||||||
int found = 0;
|
int found = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user