Fix recognition of .SS lines in manual
authorH.G.Muller <hgm@hgm-xboard.(none)>
Fri, 11 Mar 2016 15:59:41 +0000 (16:59 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Fri, 11 Mar 2016 15:59:41 +0000 (16:59 +0100)
The logic for recognizing .SS headers was reversed, and .SS lines were
also not tested for to decide whether display should end.

dialogs.c

index eecf453..6ecdcaf 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -2467,8 +2467,8 @@ GetHelpText (FILE *f, char *name)
     while(buf[--len] == ' ') buf[len] = NULLCHAR;
     snprintf(title, MSG_SIZ, "Help on '%s'", buf+3);
     while((line = ReadLine(f))) {
     while(buf[--len] == ' ') buf[len] = NULLCHAR;
     snprintf(title, MSG_SIZ, "Help on '%s'", buf+3);
     while((line = ReadLine(f))) {
-       if(!strncmp(line, buf, len) && (strncmp(line, ".SS ", 4) || strncmp(line+4, buf+3, len-3))) {
-           while((line = ReadLine(f)) && (cnt == 0 || strncmp(line, ".B ", 3))) {
+       if(!strncmp(line, buf, len) || !strncmp(line, ".SS ", 4) && !strncmp(line+4, buf+3, len-3)) {
+           while((line = ReadLine(f)) && (cnt == 0 || strncmp(line, ".B ", 3) && strncmp(line, ".SS ", 4))) {
                if(!*line) { *p++ = '\n'; *p++ = '\n'; q = p; continue; }
                if(*line == '.') continue;
                *p++ = ' '; cnt++;
                if(!*line) { *p++ = '\n'; *p++ = '\n'; q = p; continue; }
                if(*line == '.') continue;
                *p++ = ' '; cnt++;