From: Nick Mathewson Date: Tue, 13 Jul 2010 15:06:08 +0000 (-0400) Subject: Pass flags to fcntl(F_SETFL) and fcntl(F_SETFD) as int, not long X-Git-Tag: release-2.0.6-rc~29 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7c2dea1615fa1488c9cadc9f5aeb885c1ba26a60;p=libevent 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. --- diff --git a/evutil.c b/evutil.c index d0621bfa..409a5d84 100644 --- a/evutil.c +++ b/evutil.c @@ -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;