summaryrefslogtreecommitdiff
path: root/networking/isrv.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/isrv.c')
-rw-r--r--networking/isrv.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/networking/isrv.c b/networking/isrv.c
index 5193f30..f0df222 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;