r9095 invalidly removed the check for non-winsock
authorAlex Beregszaszi <alex@rtfs.hu>
Mon, 21 May 2007 16:08:03 +0000 (16:08 +0000)
committerAlex Beregszaszi <alex@rtfs.hu>
Mon, 21 May 2007 16:08:03 +0000 (16:08 +0000)
Originally committed as revision 9096 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/os_support.c

index b70dc27..ded36d6 100644 (file)
@@ -139,10 +139,12 @@ int poll(struct pollfd *fds, nfds_t numfds, int timeout)
     int n;
     int rc;
 
     int n;
     int rc;
 
+#ifdef __MINGW32__
     if (numfds >= FD_SETSIZE) {
         errno = EINVAL;
         return -1;
     }
     if (numfds >= FD_SETSIZE) {
         errno = EINVAL;
         return -1;
     }
+#endif
 
     FD_ZERO(&read_set);
     FD_ZERO(&write_set);
 
     FD_ZERO(&read_set);
     FD_ZERO(&write_set);
@@ -152,6 +154,12 @@ int poll(struct pollfd *fds, nfds_t numfds, int timeout)
     for(i = 0; i < numfds; i++) {
         if (fds[i].fd < 0)
             continue;
     for(i = 0; i < numfds; i++) {
         if (fds[i].fd < 0)
             continue;
+#ifndef __MINGW32__
+        if (fds[i].fd >= FD_SETSIZE) {
+            errno = EINVAL;
+            return -1;
+        }
+#endif
 
         if (fds[i].events & POLLIN)  FD_SET(fds[i].fd, &read_set);
         if (fds[i].events & POLLOUT) FD_SET(fds[i].fd, &write_set);
 
         if (fds[i].events & POLLIN)  FD_SET(fds[i].fd, &read_set);
         if (fds[i].events & POLLOUT) FD_SET(fds[i].fd, &write_set);