X-Git-Url: http://winboard.nl/cgi-bin?p=gnushogi.git;a=blobdiff_plain;f=gnushogi%2Frawdsp.c;h=2c4d185244a67b91efec35ad55392185e5d8ca16;hp=287e578e4146033dd345ad17afe4e67d6acaf2fc;hb=ff70bcfb13c2a38180a93d689baccd6828dfda90;hpb=97a3bafdbb2b8f5c48c78b4aabfaaf2b9c329934 diff --git a/gnushogi/rawdsp.c b/gnushogi/rawdsp.c index 287e578..2c4d185 100644 --- a/gnushogi/rawdsp.c +++ b/gnushogi/rawdsp.c @@ -366,10 +366,13 @@ Raw_EditBoard(void) } ClearCaptured(); + continue; } - if (s[0] == 'c') + if (s[0] == 'c') { a = otherside[a]; + continue; + } if (s[1] == '*') { @@ -382,39 +385,36 @@ Raw_EditBoard(void) break; } } - - c = -1; - r = -1; + continue; } - else - { - c = COL_NUM(s[1]); - r = ROW_NUM(s[2]); + + c = COL_NUM(s[1]); + r = ROW_NUM(s[2]); + + if ((c < 0) || (c >= NO_COLS) || (r < 0) || (r >= NO_ROWS)) { + continue; } - if ((c >= 0) && (c < NO_COLS) && (r >= 0) && (r < NO_ROWS)) - { - sq = locn(r, c); - color[sq] = a; - board[sq] = no_piece; + sq = locn(r, c); + color[sq] = a; + board[sq] = no_piece; - for (i = no_piece; i <= king; i++) + for (i = no_piece; i <= king; i++) + { + if ((s[0] == pxx[i]) || (s[0] == qxx[i])) { - if ((s[0] == pxx[i]) || (s[0] == qxx[i])) - { - if (s[3] == '+') - board[sq] = promoted[i]; - else - board[sq] = i; + if (s[3] == '+') + board[sq] = promoted[i]; + else + board[sq] = i; - found = 1; - break; - } + found = 1; + break; } - - if (found == 0) - color[sq] = neutral; } + + if (found == 0) + color[sq] = neutral; } for (sq = 0; sq < NO_SQUARES; sq++)