Pass flags to fcntl(F_SETFL) and fcntl(F_SETFD) as int, not long

Everybody but Linux documents this as taking an int, and Linux is
very tolerant of getting an int instead.  If it weren't, everybody
doing fcntl(fd,F_SETFL,O_NONBLOCK) would break, since the glibc
headers define O_NONBLOCK as an int literal.
This commit is contained in:
Nick Mathewson 2010-07-13 11:06:08 -04:00
parent e73cbde15f
commit 7c2dea1615

View File

@ -248,7 +248,7 @@ evutil_make_socket_nonblocking(evutil_socket_t fd)
}
#else
{
long flags;
int flags;
if ((flags = fcntl(fd, F_GETFL, NULL)) < 0) {
event_warn("fcntl(%d, F_GETFL)", fd);
return -1;
@ -281,7 +281,7 @@ int
evutil_make_socket_closeonexec(evutil_socket_t fd)
{
#if !defined(WIN32) && defined(_EVENT_HAVE_SETFD)
long flags;
int flags;
if ((flags = fcntl(fd, F_GETFD, NULL)) < 0) {
event_warn("fcntl(%d, F_GETFD)", fd);
return -1;