X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=gnushogi%2Fcommondsp.c;h=36cc7897f4827056597331e91aef7d8d56245526;hb=1be442641b610fa1b6172a38d9acffe2d22797b6;hp=56afbe6d13bd7c97cf7c0ea90ca31907230d3593;hpb=5fbd58dc91d27467d3ccbea2d76ab70a5ff2b3f7;p=gnushogi.git diff --git a/gnushogi/commondsp.c b/gnushogi/commondsp.c index 56afbe6..36cc789 100644 --- a/gnushogi/commondsp.c +++ b/gnushogi/commondsp.c @@ -4,11 +4,14 @@ * Common display routines for GNU Shogi. * * ---------------------------------------------------------------------- - * - * Copyright (c) 2012 Free Software Foundation + * Copyright (c) 1993, 1994, 1995 Matthias Mutz + * Copyright (c) 1999 Michael Vanier and the Free Software Foundation * * GNU SHOGI is based on GNU CHESS * + * Copyright (c) 1988, 1989, 1990 John Stanback + * Copyright (c) 1992 Free Software Foundation + * * This file is part of GNU SHOGI. * * GNU Shogi is free software; you can redistribute it and/or modify it @@ -125,6 +128,17 @@ movealgbr(short m, char *s) /* * Generate move strings in different formats. + * + * INPUT: + * - f piece to be moved + * - 0 < f < NO_SQUARES source square + * - NO_SQUARES <= f NO_SQUARES + 2*NO_PIECES dropped piece modulo NO_PIECES + * - t & 0x7f target square + * - t & 0x80 promotion flag + * - flag FIXME: must be zero ? + * + * OUTPUT: + * - GLOBAL mvstr */ void @@ -150,12 +164,8 @@ algbr(short f, short t, short flag) if ((f == t) && ((f != 0) || (t != 0))) { - if (!barebones) - { - if (NOT_CURSES) - printf("error in algbr: FROM=TO=%d, flag=0x%4x\n", t, flag); - else - printw("error in algbr: FROM=TO=%d, flag=0x%4x\n", t, flag); + if (!barebones) { + Printf("error in algbr: FROM=TO=%d, flag=0x%4x\n", t, flag); } mvstr[0][0] = mvstr[1][0] = mvstr[2][0] = mvstr[3][0] = '\0'; @@ -434,24 +444,12 @@ GetGame(void) short sq; short side, isp; - if (savefile[0]) - { + if (savefile[0]) { strcpy(fname, savefile); - } - else - { + } else { /* Enter file name */ ShowMessage(CP[63]); - - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } + RequestInputString(fname); } /* shogi.000 */ @@ -671,24 +669,12 @@ SaveGame(void) short side, piece; char empty[2] = "\n"; - if (savefile[0]) - { + if (savefile[0]) { strcpy(fname, savefile); - } - else - { + } else { /* Enter file name */ ShowMessage(CP[63]); - - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } + RequestInputString(fname); } if (fname[0] == '\0') /* shogi.000 */ @@ -832,16 +818,7 @@ GetXGame(void) /* Enter file name */ ShowMessage(CP[63]); - - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } + RequestInputString(fname); if (fname[0] == '\0') /* XSHOGI.position.read */ strcpy(fname, CP[205]); @@ -969,16 +946,7 @@ SaveXGame(void) /* Enter file name */ ShowMessage(CP[63]); - - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } + RequestInputString(fname); if (fname[0] == '\0') /* XSHOGI.position.read */ strcpy(fname, CP[205]); @@ -1051,24 +1019,12 @@ BookSave(void) char fname[256], sflags[4]; short i, j, f, t; - if (savefile[0]) - { + if (savefile[0]) { strcpy(fname, savefile); - } - else - { + } else { /* Enter file name */ ShowMessage(CP[63]); - - if (NOT_CURSES) - { - scanf("%s", fname); - } - else - { - fflush(stdout); - scanw("%s", fname); - } + RequestInputString(fname); } if (fname[0] == '\0') @@ -1731,8 +1687,8 @@ InputCommand(char *command) { s[0] = sx[0] = '\0'; - while(!sx[0]) - (void)fgets(sx, 80, stdin); + while(!eof && !sx[0]) + eof = (fgets(sx, 80, stdin) == NULL); } else { @@ -2147,8 +2103,6 @@ InputCommand(char *command) printf("\n"); #endif } - - signal(SIGUSR1, TerminateSearch); }