X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Frawdsp.c;h=54bb7a1e16fee4205959e6e899a903252edde1cb;hb=55f7af8b6f1e57eaf349a52ccde05e5f86c61905;hp=2c4d185244a67b91efec35ad55392185e5d8ca16;hpb=ff70bcfb13c2a38180a93d689baccd6828dfda90;p=gnushogi.git diff --git a/gnushogi/rawdsp.c b/gnushogi/rawdsp.c index 2c4d185..54bb7a1 100644 --- a/gnushogi/rawdsp.c +++ b/gnushogi/rawdsp.c @@ -342,10 +342,10 @@ Raw_EditBoard(void) Book = BOOKFAIL; Raw_ClearScreen(); Raw_UpdateDisplay(0, 0, 1, 0); - fputs(". Exit to main\n", stdout); - fputs("# Clear board\n", stdout); - fputs("c Change sides\n", stdout); - fputs("enter piece & location: \n", stdout); + printf(". Exit to main\n"); + printf("# Clear board\n"); + printf("c Change sides\n"); + printf("enter piece & location:\n"); a = black; @@ -385,6 +385,8 @@ Raw_EditBoard(void) break; } } + if (!found) + printf("# Invalid piece type '%c'\n", s[0]); continue; } @@ -392,17 +394,17 @@ Raw_EditBoard(void) r = ROW_NUM(s[2]); if ((c < 0) || (c >= NO_COLS) || (r < 0) || (r >= NO_ROWS)) { + printf("# Out-of-board position '%c%c'\n", s[1], s[2]); continue; } sq = locn(r, c); - color[sq] = a; - board[sq] = no_piece; for (i = no_piece; i <= king; i++) { if ((s[0] == pxx[i]) || (s[0] == qxx[i])) { + color[sq] = a; if (s[3] == '+') board[sq] = promoted[i]; else @@ -413,8 +415,8 @@ Raw_EditBoard(void) } } - if (found == 0) - color[sq] = neutral; + if (!found) + printf("# Invalid piece type '%c'\n", s[0]); } for (sq = 0; sq < NO_SQUARES; sq++)