#include <sys/param.h>
#include <sys/types.h>
#include <sys/file.h>
+#include <poll.h>
+#include <unistd.h>
#include "gnushogi.h"
#include "rawdsp.h"
void
-Raw_AlwaysShowMessage(const char *format, ...)
+Raw_AlwaysShowMessage(const char *format, va_list ap)
{
- va_list ap;
- va_start(ap, format);
vprintf(format, ap);
- va_end(ap);
printf("\n");
}
void
-Raw_Printf(const char *format, ...)
+Raw_Printf(const char *format, va_list ap)
{
- va_list ap;
- va_start(ap, format);
vprintf(format, ap);
- va_end(ap);
}
void
+Raw_UpdateClocks(void)
+{
+}
+
+
+void
Raw_UpdateDisplay(short f, short t, short redraw, short isspec)
{
}
+void
+Raw_PollForInput(void)
+{
+ static struct pollfd pollfds[1] = { /* [0] = */ { /* .fd = */ STDIN_FILENO,
+ /* .events = */ POLLIN } };
+ int cnt = poll(pollfds, sizeof(pollfds)/sizeof(pollfds[0]), 0);
+ if (cnt < 0) {
+ perror("polling standard input");
+ ExitShogi();
+ }
+ if (cnt) { /* if anything to read, or error occured */
+ if (!flag.timeout)
+ flag.back = true; /* previous: flag.timeout = true; */
+ flag.bothsides = false;
+ }
+}
+
+
/*
* Determine the time that has passed since the search was started. If the
* elapsed time exceeds the target(ResponseTime + ExtraTime) then set timeout
long current_time;
#ifdef HAVE_GETTIMEOFDAY
struct timeval tv;
+#endif
+
+ PollForInput();
+
+#ifdef HAVE_GETTIMEOFDAY
gettimeofday(&tv, NULL);
current_time = tv.tv_sec*100 + (tv.tv_usec/10000);
#else
time0 = current_time;
}
+
+#ifdef QUIETBACKGROUND
+ if (!background)
+#endif
+ UpdateClocks();
}
}