Fix help search
authorH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 29 Mar 2016 19:20:51 +0000 (21:20 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 29 Mar 2016 19:20:51 +0000 (21:20 +0200)
The help search was ignoring the last character of the searched string.
Which almost neven mattered, except when the searched string was only
1 or 2 characters, like for the buttons in the button bar.

dialogs.c

index 84ac446..19b69af 100644 (file)
--- a/dialogs.c
+++ b/dialogs.c
@@ -2484,8 +2484,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))) {
-       if(!strncmp(line, buf, len) || !strncmp(line, ".SS ", 4) && !strncmp(line+4, buf+3, len-3)
-                           || !strncmp(line, ".IX Item \"", 10) && !strncmp(line+10, buf+3, len-3)) {
+       if(!strncmp(line, buf, ++len) || !strncmp(line, ".SS ", 4) && !strncmp(line+4, buf+3, len-3)
+                             || !strncmp(line, ".IX Item \"", 10) && !strncmp(line+10, buf+3, len-3)) {
            while((line = ReadLine(f)) && (cnt == 0 || strncmp(line, ".B ", 3) && strncmp(line, ".SS ", 4) && strncmp(line, ".IX ", 4))) {
                if(!*line) { *p++ = '\n'; *p++ = '\n'; q = p; continue; }
                if(*line == '.') continue;