changeset 9836:8016c8455f1d

allow select()less compilation
author faust3
date Fri, 04 Apr 2003 20:56:29 +0000
parents 0bd390e01057
children 75ff80d8dc1e
files input/input.c
diffstat 1 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/input/input.c	Fri Apr 04 20:45:05 2003 +0000
+++ b/input/input.c	Fri Apr 04 20:56:29 2003 +0000
@@ -784,15 +784,19 @@
 
 int
 mp_input_read_key_code(int time) {
+#ifndef HAVE_NO_POSIX_SELECT
   fd_set fds;
   struct timeval tv,*time_val;
+#endif
   int i,n=0,max_fd = 0;
   static int last_loop = 0;
 
   if(num_key_fd == 0)
     return MP_INPUT_NOTHING;
 
+#ifndef HAVE_NO_POSIX_SELECT
   FD_ZERO(&fds);
+#endif
   // Remove fd marked as dead and build the fd_set
   // n == number of fd's to be select() checked
   for(i = 0; (unsigned int)i < num_key_fd; i++) {
@@ -804,13 +808,16 @@
       continue;
     if(key_fds[i].fd > max_fd)
       max_fd = key_fds[i].fd;
+#ifndef HAVE_NO_POSIX_SELECT
     FD_SET(key_fds[i].fd,&fds);
+#endif
     n++;
   }
 
   if(num_key_fd == 0)
     return MP_INPUT_NOTHING;
 
+#ifndef HAVE_NO_POSIX_SELECT
 // if we have fd's without MP_FD_NO_SELECT flag, call select():
 if(n>0){
 
@@ -831,6 +838,7 @@
   }
 
 }
+#endif
 
   for(i = last_loop + 1 ; i != last_loop ; i++) {
     int code = -1;
@@ -841,9 +849,11 @@
       last_loop %= (num_key_fd+1);
       continue;
     }
+#ifndef HAVE_NO_POSIX_SELECT
     // No input from this fd
     if(! (key_fds[i].flags & MP_FD_NO_SELECT) && ! FD_ISSET(key_fds[i].fd,&fds))
       continue;
+#endif
     if(key_fds[i].fd == 0) { // stdin is handled by getch2
       code = getch2(time);
       if(code < 0)
@@ -959,8 +969,10 @@
 
 static mp_cmd_t*
 mp_input_read_cmds(int time) {
+#ifndef HAVE_NO_POSIX_SELECT
   fd_set fds;
   struct timeval tv,*time_val;
+#endif
   int i,n = 0,max_fd = 0,got_cmd = 0;
   mp_cmd_t* ret;
   static int last_loop = 0;
@@ -968,7 +980,9 @@
   if(num_cmd_fd == 0)
     return NULL;
 
+#ifndef HAVE_NO_POSIX_SELECT
   FD_ZERO(&fds);
+#endif
   for(i = 0; (unsigned int)i < num_cmd_fd ; i++) {
     if( (cmd_fds[i].flags & MP_FD_DEAD) || (cmd_fds[i].flags & MP_FD_EOF) ) {
       mp_input_rm_cmd_fd(cmd_fds[i].fd);
@@ -980,13 +994,16 @@
       got_cmd = 1;
     if(cmd_fds[i].fd > max_fd)
       max_fd = cmd_fds[i].fd;
+#ifndef HAVE_NO_POSIX_SELECT
     FD_SET(cmd_fds[i].fd,&fds);
+#endif
     n++;
   }
 
   if(num_cmd_fd == 0)
     return NULL;
 
+#ifndef HAVE_NO_POSIX_SELECT
   if(time >= 0) {
     tv.tv_sec=time/1000; 
     tv.tv_usec = (time%1000)*1000;
@@ -1006,6 +1023,7 @@
     }
     break;
   }
+#endif
 
   for(i = last_loop + 1; i !=  last_loop ; i++) {
     int r = 0;
@@ -1016,8 +1034,10 @@
       last_loop %= (num_cmd_fd+1);
       continue;
     }
+#ifndef HAVE_NO_POSIX_SELECT
     if( ! (cmd_fds[i].flags & MP_FD_NO_SELECT) && ! FD_ISSET(cmd_fds[i].fd,&fds) && ! (cmd_fds[i].flags & MP_FD_GOT_CMD) )
       continue;
+#endif
 
     r = mp_input_read_cmd(&cmd_fds[i],&cmd);
     if(r < 0) {