From 4fbf798f866b10ee50cc91a394d19c0d4b2f79ab Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 4 Aug 1992 09:13:45 +0000 Subject: * myselect.h: bzero -> memset * select.c: bzero -> memset; removed global variable --- Include/myselect.h | 2 +- Modules/selectmodule.c | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Include/myselect.h b/Include/myselect.h index fa8ade9..54884ad 100644 --- a/Include/myselect.h +++ b/Include/myselect.h @@ -75,6 +75,6 @@ typedef struct fd_set { #define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS))) #define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS))) #define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS))) -#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p))) +#define FD_ZERO(p) memset((char *)(p), '\0', sizeof(*(p))) #endif /* FD_SET */ diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c index 1c4028d..8afd208 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -33,13 +33,11 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. static object *SelectError; -/* XXX This module should be re-entrant! */ -static object *fd2obj[FD_SETSIZE]; - static -list2set(list, set) +list2set(list, set, fd2obj) object *list; fd_set *set; + object *fd2obj[FD_SETSIZE]; { int i, len, v, max=-1; object *o, *filenomethod, *fno; @@ -76,9 +74,10 @@ list2set(list, set) } static object * -set2list(set, max) +set2list(set, max, fd2obj) fd_set *set; int max; + object *fd2obj[FD_SETSIZE]; { int i, num=0; object *list, *o; @@ -112,6 +111,7 @@ select_select(self, args) object *self; object *args; { + object *fd2obj[FD_SETSIZE]; object *ifdlist, *ofdlist, *efdlist; fd_set ifdset, ofdset, efdset; double timeout; @@ -141,14 +141,14 @@ select_select(self, args) return 0; } - bzero((char *)fd2obj, sizeof(fd2obj)); /* Not really needed */ + memset((char *)fd2obj, '\0', sizeof(fd2obj)); /* Convert lists to fd_sets, and get maximum fd number */ - if( (imax=list2set(ifdlist, &ifdset)) < 0 ) + if( (imax=list2set(ifdlist, &ifdset, fd2obj)) < 0 ) return 0; - if( (omax=list2set(ofdlist, &ofdset)) < 0 ) + if( (omax=list2set(ofdlist, &ofdset, fd2obj)) < 0 ) return 0; - if( (emax=list2set(efdlist, &efdset)) < 0 ) + if( (emax=list2set(efdlist, &efdset, fd2obj)) < 0 ) return 0; max = imax; if ( omax > max ) max = omax; @@ -164,9 +164,9 @@ select_select(self, args) if ( n == 0 ) imax = omax = emax = 0; /* Speedup hack */ - ifdlist = set2list(&ifdset, imax); - ofdlist = set2list(&ofdset, omax); - efdlist = set2list(&efdset, emax); + ifdlist = set2list(&ifdset, imax, fd2obj); + ofdlist = set2list(&ofdset, omax, fd2obj); + efdlist = set2list(&efdset, emax, fd2obj); return mkvalue("OOO", ifdlist, ofdlist, efdlist); } -- cgit v0.12