diff options
Diffstat (limited to 'networking/isrv.c')
-rw-r--r-- | networking/isrv.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/networking/isrv.c b/networking/isrv.c index 5193f30f3..f0df2229c 100644 --- a/networking/isrv.c +++ b/networking/isrv.c @@ -190,9 +190,10 @@ static void handle_accept(isrv_state_t *state, int fd) { int n, newfd; - fcntl(fd, F_SETFL, (int)(PARAM_TBL[0]) | O_NONBLOCK); + /* suppress gcc warning "cast from ptr to int of different size" */ + fcntl(fd, F_SETFL, (int)(ptrdiff_t)(PARAM_TBL[0]) | O_NONBLOCK); newfd = accept(fd, NULL, 0); - fcntl(fd, F_SETFL, (int)(PARAM_TBL[0])); + fcntl(fd, F_SETFL, (int)(ptrdiff_t)(PARAM_TBL[0])); if (newfd < 0) { if (errno == EAGAIN) return; /* Most probably someone gave us wrong fd type @@ -299,7 +300,8 @@ void isrv_run( isrv_register_fd(state, /*peer:*/ 0, listen_fd); isrv_want_rd(state, listen_fd); /* remember flags to make blocking<->nonblocking switch faster */ - PARAM_TBL[0] = (void*) (fcntl(listen_fd, F_GETFL, 0)); + /* (suppress gcc warning "cast from ptr to int of different size") */ + PARAM_TBL[0] = (void*)(ptrdiff_t)(fcntl(listen_fd, F_GETFL, 0)); while (1) { struct timeval tv; |