Allow passing command to InputCommand
authorH.G.Muller <hgm@hgm-xboard.(none)>
Mon, 3 Mar 2014 13:44:00 +0000 (14:44 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Mon, 3 Mar 2014 13:44:00 +0000 (14:44 +0100)
InputCommand was only called with argument command=NULL, but written such
that it would execute the passed command rather than read one from stdin
in other cases. (E.g. to execute a back-logged command.) But in such a case
it should not ponder or analyze before processing the command, as these
should only be done while waiting for true input.

gnushogi/commondsp.c

index 9556f63..ba56401 100644 (file)
@@ -1511,7 +1511,7 @@ InputCommand(char *command)
         ZeroTTable();
 #endif
 
-    if ((hint > 0) && !flag.easy && !flag.force)
+    if ((hint > 0) && !flag.easy && !flag.force && !command)
     {
         /*
          * A hint move for the player is available.  Compute a move for the
@@ -1575,7 +1575,7 @@ InputCommand(char *command)
     {
         player = opponent;
 
-        if (flag.analyze) {
+        if (flag.analyze && !command) {
             SelectMove(opponent, BACKGROUND_MODE);
         }