]> git.sur5r.net Git - openldap/blobdiff - libraries/msdos/winsock/wsockip.c
Merge from LAMBERT branch
[openldap] / libraries / msdos / winsock / wsockip.c
index 307541cfc2826027f635d177a62020d60d0d56e3..5c86cd771f4ccdf41df610a3a1987caeb5caca0c 100644 (file)
@@ -446,6 +446,14 @@ do_ldap_select( LDAP *ld, struct timeval *timeout )
        Debug( LDAP_DEBUG_TRACE, "do_ldap_select\n", 0, 0, 0 );
 
        if ( tblsize == 0 ) {
+#ifdef FD_SETSIZE
+               /*
+                * It is invalid to use a set size in excess of the type
+                * scope, as defined for the fd_set in sys/types.h.  This
+                * is true for any OS.
+                */
+               tblsize = FD_SETSIZE;
+#else  /* !FD_SETSIZE*/
 #ifdef USE_SYSCONF
                tblsize = sysconf( _SC_OPEN_MAX );
 #else /* USE_SYSCONF */
@@ -455,6 +463,7 @@ do_ldap_select( LDAP *ld, struct timeval *timeout )
                tblsize = getdtablesize();
 #endif
 #endif /* USE_SYSCONF */
+#endif /* !FD_SETSIZE*/
        }
 
        sip = (struct selectinfo *)ld->ld_selectinfo;