]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - tetris/input.c
Sort and remove duplicates.
[bsdgames-darwin.git] / tetris / input.c
index 867bb2e412502816e82f494ed3a071679ecf79eb..cae49c8a5694d429c96c56c52fe4c3f2ec8472b7 100644 (file)
@@ -1,4 +1,4 @@
-/*     $NetBSD: input.c,v 1.6 2002/09/19 21:12:10 mycroft Exp $        */
+/*     $NetBSD: input.c,v 1.8 2002/12/29 15:12:17 kristerw Exp $       */
 
 /*-
  * Copyright (c) 1992, 1993
        }
 
 /*
- * Do a `read wait': select for reading from stdin, with timeout *tvp.
+ * Do a `read wait': poll for reading from stdin, with timeout *tvp.
  * On return, modify *tvp to reflect the amount of time spent waiting.
  * It will be positive only if input appeared before the time ran out;
  * otherwise it will be zero or perhaps negative.
  *
- * If tvp is nil, wait forever, but return if select is interrupted.
+ * If tvp is nil, wait forever, but return if poll is interrupted.
  *
  * Return 0 => no input, 1 => can read() from stdin
  */
@@ -80,31 +80,27 @@ rwait(tvp)
        struct timeval *tvp;
 {
        struct pollfd set[1];
-       struct timeval starttv, endtv, *s;
+       struct timeval starttv, endtv;
+       int timeout;
 #define        NILTZ ((struct timezone *)0)
 
-       /*
-        * Someday, select() will do this for us.
-        * Just in case that day is now, and no one has
-        * changed this, we use a temporary.
-        */
        if (tvp) {
                (void) gettimeofday(&starttv, NILTZ);
                endtv = *tvp;
-               s = &endtv;
+               timeout = tvp->tv_sec * 1000 + tvp->tv_usec / 1000;
        } else
-               s = 0;
+               timeout = INFTIM;
 again:
        set[0].fd = STDIN_FILENO;
        set[0].events = POLLIN;
-       switch (poll(set, 1, s->tv_sec * 1000 + s->tv_usec / 1000)) {
+       switch (poll(set, 1, timeout)) {
 
        case -1:
                if (tvp == 0)
                        return (-1);
                if (errno == EINTR)
                        goto again;
-               stop("select failed, help");
+               stop("poll failed, help");
                /* NOTREACHED */
 
        case 0: /* timed out */
@@ -122,7 +118,7 @@ again:
 }
 
 /*
- * `sleep' for the current turn time (using select).
+ * `sleep' for the current turn time.
  * Eat any input that might be available.
  */
 void