aboutsummaryrefslogtreecommitdiff
path: root/miscutils/man.c
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-07-05 08:50:08 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-07-05 08:50:08 +0000
commitf6efccc0659a2e2978f2021153f34ce92257ad2b (patch)
treeac804fa4f921eb7b40dc298105d179098f5d2f7e /miscutils/man.c
parentfec8b42317dfe5a1471a9cfa9dc9ecf6ddf95e3f (diff)
downloadbusybox-w32-f6efccc0659a2e2978f2021153f34ce92257ad2b.tar.gz
busybox-w32-f6efccc0659a2e2978f2021153f34ce92257ad2b.tar.bz2
busybox-w32-f6efccc0659a2e2978f2021153f34ce92257ad2b.zip
man: fix inverted cat/man bool variable
Diffstat (limited to 'miscutils/man.c')
-rw-r--r--miscutils/man.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/miscutils/man.c b/miscutils/man.c
index 509ae96bd..95cb6797b 100644
--- a/miscutils/man.c
+++ b/miscutils/man.c
@@ -27,7 +27,7 @@ echo ".pl \n(nlu+10"
27#define STR_catNULmanNUL "cat\0man" 27#define STR_catNULmanNUL "cat\0man"
28#define STR_cat "cat\0man" 28#define STR_cat "cat\0man"
29 29
30static int run_pipe(const char *unpacker, const char *pager, char *man_filename, int cat) 30static int run_pipe(const char *unpacker, const char *pager, char *man_filename, int man)
31{ 31{
32 char *cmd; 32 char *cmd;
33 33
@@ -41,31 +41,32 @@ static int run_pipe(const char *unpacker, const char *pager, char *man_filename,
41 41
42 /* "2>&1" is added so that nroff errors are shown in pager too. 42 /* "2>&1" is added so that nroff errors are shown in pager too.
43 * Otherwise it may show just empty screen */ 43 * Otherwise it may show just empty screen */
44 cmd = xasprintf(cat ? "%s '%s' | %s" 44 cmd = xasprintf(
45 : "%s '%s' | gtbl | nroff -Tlatin1 -mandoc 2>&1 | %s", 45 man ? "%s '%s' | gtbl | nroff -Tlatin1 -mandoc 2>&1 | %s"
46 unpacker, man_filename, pager); 46 : "%s '%s' | %s",
47 unpacker, man_filename, pager);
47 system(cmd); 48 system(cmd);
48 free(cmd); 49 free(cmd);
49 return 1; 50 return 1;
50} 51}
51 52
52/* man_filename is of the form "/dir/dir/dir/name.s.bz2" */ 53/* man_filename is of the form "/dir/dir/dir/name.s.bz2" */
53static int show_manpage(const char *pager, char *man_filename, int cat) 54static int show_manpage(const char *pager, char *man_filename, int man)
54{ 55{
55 int len; 56 int len;
56 57
57 if (run_pipe("bunzip2 -c", pager, man_filename, cat)) 58 if (run_pipe("bunzip2 -c", pager, man_filename, man))
58 return 1; 59 return 1;
59 60
60 len = strlen(man_filename) - 1; 61 len = strlen(man_filename) - 1;
61 62
62 man_filename[len] = '\0'; /* ".bz2" -> ".gz" */ 63 man_filename[len] = '\0'; /* ".bz2" -> ".gz" */
63 man_filename[len - 2] = 'g'; 64 man_filename[len - 2] = 'g';
64 if (run_pipe("gunzip -c", pager, man_filename, cat)) 65 if (run_pipe("gunzip -c", pager, man_filename, man))
65 return 1; 66 return 1;
66 67
67 man_filename[len - 3] = '\0'; /* ".gz" -> "" */ 68 man_filename[len - 3] = '\0'; /* ".gz" -> "" */
68 if (run_pipe(STR_cat, pager, man_filename, cat)) 69 if (run_pipe(STR_cat, pager, man_filename, man))
69 return 1; 70 return 1;
70 71
71 return 0; 72 return 0;