Changeset 3232 in MondoRescue for branches/3.2/mindi-busybox/miscutils/man.c
- Timestamp:
- Jan 1, 2014, 12:47:38 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.2/mindi-busybox/miscutils/man.c
r2725 r3232 3 3 * Licensed under GPLv2, see file LICENSE in this source tree. 4 4 */ 5 6 //usage:#define man_trivial_usage 7 //usage: "[-aw] [MANPAGE]..." 8 //usage:#define man_full_usage "\n\n" 9 //usage: "Format and display manual page\n" 10 //usage: "\n -a Display all pages" 11 //usage: "\n -w Show page locations" 5 12 6 13 #include "libbb.h" … … 23 30 24 31 */ 25 26 #if ENABLE_FEATURE_SEAMLESS_LZMA27 #define Z_SUFFIX ".lzma"28 #elif ENABLE_FEATURE_SEAMLESS_BZ229 #define Z_SUFFIX ".bz2"30 #elif ENABLE_FEATURE_SEAMLESS_GZ31 #define Z_SUFFIX ".gz"32 #else33 #define Z_SUFFIX ""34 #endif35 32 36 33 static int show_manpage(const char *pager, char *man_filename, int man, int level); … … 96 93 /* Links do not have .gz extensions, even if manpage 97 94 * is compressed */ 98 man_filename = xasprintf("%s/%s" Z_SUFFIX, man_filename, linkname);95 man_filename = xasprintf("%s/%s", man_filename, linkname); 99 96 free(line); 100 97 /* Note: we leak "new" man_filename string as well... */ … … 118 115 } 119 116 120 /* man_filename is of the form "/dir/dir/dir/name.s" Z_SUFFIX*/117 /* man_filename is of the form "/dir/dir/dir/name.s" */ 121 118 static int show_manpage(const char *pager, char *man_filename, int man, int level) 122 119 { 120 #if SEAMLESS_COMPRESSION 121 /* We leak this allocation... */ 122 char *filename_with_zext = xasprintf("%s.lzma", man_filename); 123 char *ext = strrchr(filename_with_zext, '.') + 1; 124 #endif 125 123 126 #if ENABLE_FEATURE_SEAMLESS_LZMA 124 if (run_pipe(pager, man_filename, man, level)) 125 return 1; 126 #endif 127 127 if (run_pipe(pager, filename_with_zext, man, level)) 128 return 1; 129 #endif 130 #if ENABLE_FEATURE_SEAMLESS_XZ 131 strcpy(ext, "xz"); 132 if (run_pipe(pager, filename_with_zext, man, level)) 133 return 1; 134 #endif 128 135 #if ENABLE_FEATURE_SEAMLESS_BZ2 129 #if ENABLE_FEATURE_SEAMLESS_LZMA 130 strcpy(strrchr(man_filename, '.') + 1, "bz2"); 131 #endif 132 if (run_pipe(pager, man_filename, man, level)) 133 return 1; 134 #endif 135 136 strcpy(ext, "bz2"); 137 if (run_pipe(pager, filename_with_zext, man, level)) 138 return 1; 139 #endif 136 140 #if ENABLE_FEATURE_SEAMLESS_GZ 137 #if ENABLE_FEATURE_SEAMLESS_LZMA || ENABLE_FEATURE_SEAMLESS_BZ2 138 strcpy(strrchr(man_filename, '.') + 1, "gz"); 139 #endif 140 if (run_pipe(pager, man_filename, man, level)) 141 return 1; 142 #endif 143 144 #if ENABLE_FEATURE_SEAMLESS_LZMA || ENABLE_FEATURE_SEAMLESS_BZ2 || ENABLE_FEATURE_SEAMLESS_GZ 145 *strrchr(man_filename, '.') = '\0'; 146 #endif 147 if (run_pipe(pager, man_filename, man, level)) 148 return 1; 149 150 return 0; 141 strcpy(ext, "gz"); 142 if (run_pipe(pager, filename_with_zext, man, level)) 143 return 1; 144 #endif 145 146 return run_pipe(pager, man_filename, man, level); 151 147 } 152 148 … … 256 252 while (cat0man1 < 2) { 257 253 int found_here; 258 man_filename = xasprintf("%s/%s%.*s/%s.%.*s" Z_SUFFIX,254 man_filename = xasprintf("%s/%s%.*s/%s.%.*s", 259 255 cur_path, 260 256 "cat\0man" + (cat0man1 * 4),
Note:
See TracChangeset
for help on using the changeset viewer.