Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4fbf798

Browse files
committed
* myselect.h: bzero -> memset
* select.c: bzero -> memset; removed global variable
1 parent f16eda5 commit 4fbf798

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

Include/myselect.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,6 @@ typedef struct fd_set {
7575
#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))
7676
#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))
7777
#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))
78-
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
78+
#define FD_ZERO(p) memset((char *)(p), '\0', sizeof(*(p)))
7979

8080
#endif /* FD_SET */

Modules/selectmodule.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,11 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3333

3434
static object *SelectError;
3535

36-
/* XXX This module should be re-entrant! */
37-
static object *fd2obj[FD_SETSIZE];
38-
3936
static
40-
list2set(list, set)
37+
list2set(list, set, fd2obj)
4138
object *list;
4239
fd_set *set;
40+
object *fd2obj[FD_SETSIZE];
4341
{
4442
int i, len, v, max=-1;
4543
object *o, *filenomethod, *fno;
@@ -76,9 +74,10 @@ list2set(list, set)
7674
}
7775

7876
static object *
79-
set2list(set, max)
77+
set2list(set, max, fd2obj)
8078
fd_set *set;
8179
int max;
80+
object *fd2obj[FD_SETSIZE];
8281
{
8382
int i, num=0;
8483
object *list, *o;
@@ -112,6 +111,7 @@ select_select(self, args)
112111
object *self;
113112
object *args;
114113
{
114+
object *fd2obj[FD_SETSIZE];
115115
object *ifdlist, *ofdlist, *efdlist;
116116
fd_set ifdset, ofdset, efdset;
117117
double timeout;
@@ -141,14 +141,14 @@ select_select(self, args)
141141
return 0;
142142
}
143143

144-
bzero((char *)fd2obj, sizeof(fd2obj)); /* Not really needed */
144+
memset((char *)fd2obj, '\0', sizeof(fd2obj));
145145

146146
/* Convert lists to fd_sets, and get maximum fd number */
147-
if( (imax=list2set(ifdlist, &ifdset)) < 0 )
147+
if( (imax=list2set(ifdlist, &ifdset, fd2obj)) < 0 )
148148
return 0;
149-
if( (omax=list2set(ofdlist, &ofdset)) < 0 )
149+
if( (omax=list2set(ofdlist, &ofdset, fd2obj)) < 0 )
150150
return 0;
151-
if( (emax=list2set(efdlist, &efdset)) < 0 )
151+
if( (emax=list2set(efdlist, &efdset, fd2obj)) < 0 )
152152
return 0;
153153
max = imax;
154154
if ( omax > max ) max = omax;
@@ -164,9 +164,9 @@ select_select(self, args)
164164
if ( n == 0 )
165165
imax = omax = emax = 0; /* Speedup hack */
166166

167-
ifdlist = set2list(&ifdset, imax);
168-
ofdlist = set2list(&ofdset, omax);
169-
efdlist = set2list(&efdset, emax);
167+
ifdlist = set2list(&ifdset, imax, fd2obj);
168+
ofdlist = set2list(&ofdset, omax, fd2obj);
169+
efdlist = set2list(&efdset, emax, fd2obj);
170170

171171
return mkvalue("OOO", ifdlist, ofdlist, efdlist);
172172
}

0 commit comments

Comments
 (0)