1 |
vapier 08/04/21 01:17:37 |
2 |
|
3 |
Added: man-1.6f-so-search.patch |
4 |
Log: |
5 |
Make uncompressed .so searching better. |
6 |
(Portage version: 2.2_pre5) |
7 |
|
8 |
Revision Changes Path |
9 |
1.1 sys-apps/man/files/man-1.6f-so-search.patch |
10 |
|
11 |
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/man/files/man-1.6f-so-search.patch?rev=1.1&view=markup |
12 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/man/files/man-1.6f-so-search.patch?rev=1.1&content-type=text/plain |
13 |
|
14 |
Index: man-1.6f-so-search.patch |
15 |
=================================================================== |
16 |
improve the uncompressed .so search |
17 |
|
18 |
--- a/src/man.c |
19 |
+++ b/src/man.c |
20 |
@@ -381,13 +381,23 @@ again: |
21 |
} |
22 |
/* |
23 |
* Some people have compressed man pages, but uncompressed |
24 |
- * .so files - we could glob for all possible extensions, |
25 |
- * for now: only try .gz |
26 |
+ * .so files - we should discover this list dynamically, but |
27 |
+ * for now just hardcode it. |
28 |
*/ |
29 |
- else if (fp == NULL && get_expander(".gz") && |
30 |
- strlen(name)+strlen(".gz") < BUFSIZE) { |
31 |
- strcat(name, ".gz"); |
32 |
- fp = fopen (name, "r"); |
33 |
+ else if (fp == NULL) { |
34 |
+#define ARRAY_SIZE(a) (sizeof(a) / sizeof(*(a))) |
35 |
+ size_t i, name_len = strlen(name); |
36 |
+ const char *extensions[] = { ".gz", ".bz2", ".lzma", ".z", ".Z" }; |
37 |
+ for (i = 0; i < ARRAY_SIZE(extensions); ++i) { |
38 |
+ const char *comp = extensions[i]; |
39 |
+ name[name_len] = '\0'; |
40 |
+ if (get_expander(comp) && name_len+strlen(comp) < BUFSIZE) { |
41 |
+ strcat(name, comp); |
42 |
+ fp = fopen(name, "r"); |
43 |
+ if (fp) |
44 |
+ break; |
45 |
+ } |
46 |
+ } |
47 |
} |
48 |
|
49 |
if (fp == NULL) { |
50 |
|
51 |
|
52 |
|
53 |
-- |
54 |
gentoo-commits@l.g.o mailing list |