Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-apps/man/files: man-1.6f-so-search.patch
Date: Mon, 21 Apr 2008 01:17:39
Message-Id: E1Jnkf3-0002r2-BS@stork.gentoo.org
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