Restore interactive "level" mode in xshogi proto, by dropping trailing newline in...
authorYann Dirson <ydirson@free.fr>
Sat, 9 Nov 2013 21:54:37 +0000 (22:54 +0100)
committerYann Dirson <ydirson@free.fr>
Sat, 9 Nov 2013 21:54:37 +0000 (22:54 +0100)
Not very interesting in itself, except that bug was causing some code to
be dead in Raw_SelectLevel, and several similar functions should be made
similar to that one to implement xboard protocol correctly.

gnushogi/rawdsp.c

index 8a6ec66..bf3f4c1 100644 (file)
@@ -162,10 +162,17 @@ int
 Raw_GetString(char* sx)
 {
     int eof = 0;
+    char *nl;
     sx[0] = '\0';
 
     while(!eof && !sx[0])
         eof = (fgets(sx, 80, stdin) == NULL);
+
+    /* remove any trailing newline */
+    nl = strchr(sx, '\n');
+    if (nl)
+        nl[0] = '\0';
+
     return eof;
 }
 
@@ -698,6 +705,7 @@ Raw_GiveHint(void)
 void
 Raw_SelectLevel(char *sx)
 {
+    /* FIXME: NO_SQUARES is nonsense here */
     char T[NO_SQUARES + 1], *p;
 
     strncpy(T, sx, NO_SQUARES);