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) {