svn commit: trunk/busybox/miscutils

vda at busybox.net vda at busybox.net
Sun Sep 14 21:26:55 UTC 2008


Author: vda
Date: 2008-09-14 14:26:55 -0700 (Sun, 14 Sep 2008)
New Revision: 23399

Log:
man: use default MANPATH of "/usr/man"; do not search paths twice



Modified:
   trunk/busybox/miscutils/man.c


Changeset:
Modified: trunk/busybox/miscutils/man.c
===================================================================
--- trunk/busybox/miscutils/man.c	2008-09-14 20:33:03 UTC (rev 23398)
+++ trunk/busybox/miscutils/man.c	2008-09-14 21:26:55 UTC (rev 23399)
@@ -169,10 +169,10 @@
 	sec_list = xstrdup("1:2:3:4:5:6:7:8:9");
 	/* Last valid man_path_list[] is [0x10] */
 	man_path_list = xzalloc(0x11 * sizeof(man_path_list[0]));
-	count_mp = 0;
-	man_path_list[0] = xstrdup(getenv("MANPATH"));
-	if (man_path_list[0])
-		count_mp++;
+	man_path_list[0] = getenv("MANPATH");
+	if (!man_path_list[0])
+		man_path_list[0] = (char*)"/usr/man";
+	count_mp = 1;
 	pager = getenv("MANPAGER");
 	if (!pager) {
 		pager = getenv("PAGER");
@@ -186,6 +186,13 @@
 		if (!token[1])
 			continue;
 		if (strcmp("MANPATH", token[0]) == 0) {
+			/* Do we already have it? */
+			char **path_element = man_path_list;
+			while (*path_element) {
+				if (strcmp(*path_element, token[1]) == 0)
+					goto skip;
+				path_element++;
+			}
 			man_path_list = xrealloc_vector(man_path_list, 4, count_mp);
 			man_path_list[count_mp] = xstrdup(token[1]);
 			count_mp++;
@@ -196,6 +203,7 @@
 			free(sec_list);
 			sec_list = xstrdup(token[1]);
 		}
+ skip: ;
 	}
 	config_close(parser);
 




More information about the busybox-cvs mailing list