Fix ShowPrompt implementation across display drivers.
[gnushogi.git] / gnushogi / rawdsp.c
index 130773e..1c43393 100644 (file)
@@ -2,11 +2,14 @@
  * FILE: rawdsp.c
  *
  * ----------------------------------------------------------------------
- *
- * 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
@@ -28,6 +31,7 @@
 
 #include <ctype.h>
 #include <signal.h>
+#include <stdarg.h>
 #include <sys/param.h>
 #include <sys/types.h>
 #include <sys/file.h>
@@ -56,9 +60,8 @@ Raw_ClearScreen(void)
 }
 
 
-/* FIXME: change to ShowPrompt? */
 void
-PromptForMove(void)
+Raw_ShowPrompt(void)
 {
     if (!barebones && !XSHOGI)
     {
@@ -118,6 +121,51 @@ Raw_ShowMessage(char *s)
         printf("%s\n", s);
 }
 
+void
+Raw_AlwaysShowMessage(const char *format, ...)
+{
+    va_list ap;
+    va_start(ap, format);
+    vprintf(format, ap);
+    va_end(ap);
+    printf("\n");
+}
+
+void
+Raw_Printf(const char *format, ...)
+{
+    va_list ap;
+    va_start(ap, format);
+    vprintf(format, ap);
+    va_end(ap);
+}
+
+void
+Raw_doRequestInputString(const char* fmt, char* buffer)
+{
+    scanf(fmt, buffer);
+}
+
+
+int
+Raw_GetString(char* sx)
+{
+    int eof = 0;
+    sx[0] = '\0';
+
+    while(!eof && !sx[0])
+        eof = (fgets(sx, 80, stdin) == NULL);
+    return eof;
+}
+
+
+void
+Raw_ShowNodeCnt(long NodeCnt)
+{
+    printf(CP[91],
+           NodeCnt, (((et) ? ((NodeCnt * 100) / et) : 0)));
+}
+
 
 void
 Raw_ShowPatternCount(short side, short n)
@@ -201,6 +249,8 @@ Raw_ExitShogi(void)
 
     if (!nolist)
         ListGame();
+
+    exit(0);
 }
 
 
@@ -310,8 +360,6 @@ Raw_help(void)
            (TCflag) ? CP[93] : CP[92],
            TimeControl.moves[black], TimeControl.clock[black] / 100,
            TCadd/100, MaxSearchDepth);
-
-    signal(SIGUSR1, Raw_TerminateSearch);
 }
 
 
@@ -483,8 +531,6 @@ SetupBoard(void)
 void
 Raw_SearchStartStuff(short side)
 {
-    signal(SIGUSR1, Raw_TerminateSearch);
-
     if (flag.post)
     {
         printf(CP[123],
@@ -962,4 +1008,3 @@ Raw_ShowPostnValues(void)
            mtl[opponent], pscore[opponent], GameType[opponent]);
     printf("\nhung black %d hung white %d\n", hung[black], hung[white]);
 }
-