mirror of
https://github.com/adtools/clib2.git
synced 2025-12-08 14:59:05 +00:00
- Added more boundary checks to the FD_#?() macros which now also catch
the case of negative socket IDs. git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15061 87f5fb63-7c3d-0410-a384-fd976d0f7a62
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: select.h,v 1.1 2005-10-09 12:32:18 obarthel Exp $
|
||||
* $Id: select.h,v 1.2 2005-11-06 14:37:49 obarthel Exp $
|
||||
*
|
||||
* :ts=4
|
||||
*
|
||||
@ -72,9 +72,9 @@ typedef struct fd_set
|
||||
unsigned long bits[(FD_SETSIZE + 31) / 32];
|
||||
} fd_set;
|
||||
|
||||
#define FD_SET(n,p) ((void)((n) < FD_SETSIZE ? (p)->bits[((unsigned long)n) >> 5] |= (1UL << (((unsigned long)n) & 31)) : 0))
|
||||
#define FD_CLR(n,p) ((void)((n) < FD_SETSIZE ? (p)->bits[((unsigned long)n) >> 5] &= ~(1UL << (((unsigned long)n) & 31)) : 0))
|
||||
#define FD_ISSET(n,p) ((n) < FD_SETSIZE && ((p)->bits[((unsigned long)n) >> 5] & (1UL << (((unsigned long)n) & 31))) != 0)
|
||||
#define FD_SET(n,p) ((void)(((unsigned long)n) < FD_SETSIZE ? (p)->bits[((unsigned long)n) >> 5] |= (1UL << (((unsigned long)n) & 31)) : 0))
|
||||
#define FD_CLR(n,p) ((void)(((unsigned long)n) < FD_SETSIZE ? (p)->bits[((unsigned long)n) >> 5] &= ~(1UL << (((unsigned long)n) & 31)) : 0))
|
||||
#define FD_ISSET(n,p) (((unsigned long)n) < FD_SETSIZE && ((p)->bits[((unsigned long)n) >> 5] & (1UL << (((unsigned long)n) & 31))) != 0)
|
||||
#define FD_COPY(f,t) ((void)memmove(t,f,sizeof(*(f))))
|
||||
#define FD_ZERO(p) ((void)memset(p,0,sizeof(*(p))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user