Fix entry of deferrals
authorH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 4 Mar 2014 21:04:04 +0000 (22:04 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 4 Mar 2014 21:04:04 +0000 (22:04 +0100)
XBoard suffixes deferred promotions with an = sign, but GNU Shogi's
internal move generator to which the input move is compared doesn't.
Now we strip off the promochar if it is an =.

gnushogi/commondsp.c

index a03d69d..48a8ef4 100644 (file)
@@ -285,6 +285,7 @@ VerifyMove(char *s, VerifyMove_mode iop, unsigned short *mv)
     MoveList(opponent, 2, -1, true);
     generate_move_flags = false;
     pnt = TrPnt[2];
+    if(s[4] == '=') s[4] = '\0'; /* deferral is implied */
 
     while (pnt < TrPnt[3])
     {