summary refs log tree commit diff
path: root/pkgs/tools/misc/man/share.patch
blob: 3367f4ceb61dd3ef17c48186511d37bcd17f97fe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
diff -rc man-db-2.4.3/src/manp.c man-db-2.4.3-new/src/manp.c
*** man-db-2.4.3/src/manp.c	Mon Nov  8 10:06:03 2004
--- man-db-2.4.3-new/src/manp.c	Tue Jan  9 17:08:31 2007
***************
*** 101,107 ****
  
  static void mkcatdirs (const char *mandir, const char *catdir);
  static __inline__ char *get_manpath (char *path);
! static __inline__ char *has_mandir (const char *p);
  static __inline__ char *fsstnd (const char *path);
  static char *def_path (int flag);
  static void add_dir_to_list (char **lp, const char *dir);
--- 101,107 ----
  
  static void mkcatdirs (const char *mandir, const char *catdir);
  static __inline__ char *get_manpath (char *path);
! static __inline__ char *has_mandir (const char *p, const char *mandir);
  static __inline__ char *fsstnd (const char *path);
  static char *def_path (int flag);
  static void add_dir_to_list (char **lp, const char *dir);
***************
*** 885,891 ****
  			if (debug)
  				fputs ("is not in the config file\n", stderr);
  
! 		 	t = has_mandir (p);
  		 	if (t) {
  				if (debug)
  					fprintf (stderr, "but does have a ../man or man subdirectory\n");
--- 885,891 ----
  			if (debug)
  				fputs ("is not in the config file\n", stderr);
  
! 		 	t = has_mandir (p, "man");
  		 	if (t) {
  				if (debug)
  					fprintf (stderr, "but does have a ../man or man subdirectory\n");
***************
*** 895,900 ****
--- 895,911 ----
  		 	} else
  				if (debug)
  					fprintf (stderr, "and doesn't have ../man or man subdirectories\n");
+ 
+ 		 	t = has_mandir (p, "share/man");
+ 		 	if (t) {
+ 				if (debug)
+ 					fprintf (stderr, "but does have a ../share/man or share/man subdirectory\n");
+ 	
+ 				add_dir_to_list (tmplist, t);
+ 				free (t);
+ 		 	}
+ 				if (debug)
+ 					fprintf (stderr, "and doesn't have ../share/man or share/man subdirectories\n");
  		}
  	}
  
***************
*** 973,979 ****
  
  /* path does not exist in config file: check to see if path/../man or 
     path/man exist.  If so return it, if not return NULL. */
! static __inline__ char *has_mandir (const char *path)
  {
  	char *newpath = NULL;
  
--- 984,990 ----
  
  /* path does not exist in config file: check to see if path/../man or 
     path/man exist.  If so return it, if not return NULL. */
! static __inline__ char *has_mandir (const char *path, const char *mandir)
  {
  	char *newpath = NULL;
  
***************
*** 983,991 ****
  	char *subdir = strrchr (path, '/');
  	if (subdir) {
  		const int prefix_len = subdir + 1 - path;
! 		newpath = xmalloc (prefix_len + sizeof ("man") + 1);
  		strncpy (newpath, path, prefix_len);
! 		strcpy (newpath + prefix_len, "man");
  
  		if (is_directory (newpath) == 1)
  			return newpath;
--- 994,1002 ----
  	char *subdir = strrchr (path, '/');
  	if (subdir) {
  		const int prefix_len = subdir + 1 - path;
! 		newpath = xmalloc (prefix_len + strlen (mandir) + 2);
  		strncpy (newpath, path, prefix_len);
! 		strcpy (newpath + prefix_len, mandir);
  
  		if (is_directory (newpath) == 1)
  			return newpath;
***************
*** 993,999 ****
  			*newpath = '\0';
  	}
  
! 	newpath = strappend (newpath, path, "/man", NULL);
  
  	if (is_directory (newpath) == 1)
  		return newpath;
--- 1004,1010 ----
  			*newpath = '\0';
  	}
  
! 	newpath = strappend (newpath, path, "/", mandir, NULL);
  
  	if (is_directory (newpath) == 1)
  		return newpath;
Only in man-db-2.4.3-new/src: manp.c~