Eliminate continues from GUI loop
authorH.G.Muller <hgm@hgm-xboard.(none)>
Sat, 8 Dec 2018 09:12:13 +0000 (10:12 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Sat, 8 Dec 2018 09:15:34 +0000 (10:15 +0100)
The 'continue' statements at the end of the code sections for handling
specific commands, which caused matching for the remaining commands after
it to be skipped, are now deleted, and the code to be skipped is placed
in an 'else' clause. This to make restructuring of the GUI loop easier.
  The 'continue' statements for 'easy' and 'hard' commands were left,
as these were harmless: it doesn't matter whether we call LaunchSearch()
after them or not.

UCI2WB.c

index c068847..d44de74 100644 (file)
--- a/UCI2WB.c
+++ b/UCI2WB.c
@@ -530,13 +530,13 @@ GUI2Engine()
                StopPonder(1); searching = 0;\r
            }\r
            strcpy(move[moveNr++], command); // possibly overwrites ponder move\r
                StopPonder(1); searching = 0;\r
            }\r
            strcpy(move[moveNr++], command); // possibly overwrites ponder move\r
-           continue;\r
-       }\r
+       } else\r
        if(!strcmp(command, "resume")) {\r
            searching = 0;\r
            if(suspended == 2) StartPonder(moveNr); // restart interrupted ponder search\r
        if(!strcmp(command, "resume")) {\r
            searching = 0;\r
            if(suspended == 2) StartPonder(moveNr); // restart interrupted ponder search\r
-           suspended = 0; continue;  // causes thinking to start in normal way if on move or analyzing\r
-       }\r
+           suspended = 0;  // causes thinking to start in normal way if on move or analyzing\r
+       } else\r
+      {\r
        if(searching == 3) { // command arrived during thinking; order abort for 'instant commands'\r
            if(!strcmp(command, "?") || !strcmp(command, "quit") ||\r
               !strcmp(command, "force") || !strcmp(command, "result")) { EPRINT((f, "# stop\n")); fflush(toE); }\r
        if(searching == 3) { // command arrived during thinking; order abort for 'instant commands'\r
            if(!strcmp(command, "?") || !strcmp(command, "quit") ||\r
               !strcmp(command, "force") || !strcmp(command, "result")) { EPRINT((f, "# stop\n")); fflush(toE); }\r
@@ -545,6 +545,7 @@ GUI2Engine()
        if(qStart == qEnd) qStart = qEnd = queue;\r
        p = line; while(qEnd < queue+10000 && (*qEnd++ = *p++) != '\n') {}\r
        if(DoCommand()) goto nomove;\r
        if(qStart == qEnd) qStart = qEnd = queue;\r
        p = line; while(qEnd < queue+10000 && (*qEnd++ = *p++) != '\n') {}\r
        if(DoCommand()) goto nomove;\r
+      }\r
     }\r
 }\r
 \r
     }\r
 }\r
 \r