Handle time and otim commands during ponder search
[gnushogi.git] / gnushogi / commondsp.c
index 48a8ef4..1790e5f 100644 (file)
@@ -1719,14 +1719,14 @@ InputCommand(char *command, int root)
         } else {
             strcpy(sx, command);
             backlog[0]= '\0'; /* make sure no backlog is left */
-            done = true;
+            command = NULL;
         }
 
         /* extract first word */
         if (sscanf(sx, "%s", s) < 1)
             continue;
 
-        if (!root && strcmp(s, "."))
+        if (!root && strcmp(s, ".") && strcmp(s, "time") && strcmp(s, "otim"))
         {   /* during search most commands can only be done after abort */
             strcpy(backlog, sx); /* backlog the command    */
             return true;         /* and order search abort */
@@ -1798,7 +1798,7 @@ InputCommand(char *command, int root)
                    "shogi"
 #endif
                 );
-            printf("debug=1 setboard=0 sigint=0 memory=1 setboard=1 done=1\n");
+            printf("debug=1 setboard=1 sigint=0 memory=1 usermove=1 done=1\n");
         }
         else if (strcmp(s, ".") == 0)
         {   // periodic update request of analysis info: send stat01 info
@@ -2148,6 +2148,9 @@ InputCommand(char *command, int root)
         }
         else
         {
+            if (strcmp(s, "usermove") == 0)
+                sscanf(sx + 9, "%s", s);
+
             if (flag.mate)
             {
                 ok = true;