On Tue, Dec 3, 2013 at 12:37 PM, Philip Guenther <[email protected]> wrote: > <string.h> needs to stay until FD_ZERO() and FD_COPY() are changed to > not use memset()/memcpy().
Good point. Would something like this work? #define FD_COPY(f, t) (*(fd_set *)(t) = *(const fd_set *)(f)) static const fd_set __fd_zero_set; #define FD_ZERO(p) FD_COPY(&__fd_zero_set, p) Downside is we lose const warnings. We could get those back if we change FD_COPY into an inline function instead of a macro, or do some GNU block-expression trickery. Or we can just declare memset/memcpy in sys/select.h too?
