Allow "depth <n>" syntax.
authorYann Dirson <ydirson@free.fr>
Sat, 9 Nov 2013 22:41:44 +0000 (23:41 +0100)
committerYann Dirson <ydirson@free.fr>
Sat, 9 Nov 2013 22:41:44 +0000 (23:41 +0100)
gnushogi/commondsp.c
gnushogi/cursesdsp.c
gnushogi/gnushogi.h
gnushogi/rawdsp.c

index 45c2e2e..ac058ff 100644 (file)
@@ -1860,7 +1860,7 @@ InputCommand(char *command)
         }
         else if (strcmp(s, "depth") == 0)
         {
-            dsp->ChangeSearchDepth();
+            dsp->ChangeSearchDepth(sx + strlen("depth"));
         }
         else if (strcmp(s, "hashdepth") == 0)
         {
index 0914449..6300368 100644 (file)
@@ -965,7 +965,7 @@ Curses_GiveHint(void)
 
 
 void
-Curses_ChangeSearchDepth(void)
+Curses_ChangeSearchDepth(char* sx)
 {
     Curses_ShowMessage("depth = ");
     FLUSH_SCANW("%hd", &MaxSearchDepth);
index fb9d849..50cab61 100644 (file)
@@ -1128,7 +1128,7 @@ struct display
     void (*ChangeAlphaWindow)(void);
     void (*ChangeBetaWindow)(void);
     void (*ChangeHashDepth)(void);
-    void (*ChangeSearchDepth)(void);
+    void (*ChangeSearchDepth)(char *sx);
     void (*ChangeXwindow)(void);
     void (*ClearScreen)(void);
     void (*DoDebug)(void);
index b73bd0a..e0a9857 100644 (file)
@@ -794,10 +794,16 @@ Raw_SelectLevel(char *sx)
 
 
 void
-Raw_ChangeSearchDepth(void)
+Raw_ChangeSearchDepth(char *sx)
 {
-    printf("depth = ");
-    scanf("%hd", &MaxSearchDepth);
+    char buf[80+1];
+    strncpy(buf, sx, 80); buf[80] = '\0';
+    /* if line empty, ask for input */
+    if (!buf[0]) {
+        printf("depth = ");
+        fgets(buf, 80+1, stdin);
+    }
+    sscanf(buf, "%hd", &MaxSearchDepth);
     TCflag = !(MaxSearchDepth > 0);
 }