Blob Blame History Raw
Properly decode double quotes inside the quoted text (closes: #406098).

diff -ruN -x '*.rej' -x '*.orig' man-1.6e-old/man2html/man2html.c man-1.6e/man2html/man2html.c
--- man-1.6e-old/man2html/man2html.c	2007-04-20 10:55:11.000000000 +0200
+++ man-1.6e/man2html/man2html.c	2007-04-20 11:03:54.000000000 +0200
@@ -1307,7 +1307,7 @@
  */
 static char *
 fill_words(char *str, char *words[], int maxn, int *n, char eow) {
-	char *s = str;
+	char *s = str, *t;
 	int backslash = 0;
 	int skipspace = 0;	/* 1 if space is not end-of-word */
 
@@ -1316,8 +1316,15 @@
 	while (*s && (*s != '\n' || backslash)) {
 		if (!backslash) {
 			if (*s == '"') {
-				*s = '\a';
-				skipspace = !skipspace;
+				if (skipspace && *(s+1) == '"') { 
+				/* "" inside the quoted text means " */
+					for (t = s++; t > words[*n]; t--)
+						*t = *(t-1);
+					words[*n]++;							
+				} else {	
+					*s = '\a';
+					skipspace = !skipspace;
+				}					
 			} else if (*s == escapesym) {
 				backslash = 1;
 			} else if ((*s == ' ' || *s == '\t') && !skipspace) {