diff options
| -rw-r--r-- | src/main.c | 7 | 
1 files changed, 3 insertions, 4 deletions
| diff --git a/src/main.c b/src/main.c index 585d98b0c..91b6d9fb2 100644 --- a/src/main.c +++ b/src/main.c @@ -1439,13 +1439,12 @@ static int set_so_keepalive(void *clientp, curl_socket_t curlfd,                              curlsocktype purpose)  {    struct Configurable *config = (struct Configurable *)clientp; -  int data = !config->nokeepalive; +  int onoff = config->nokeepalive ? 0 : 1;    switch (purpose) {    case CURLSOCKTYPE_IPCXN: -    /* setsockopt()'s 5th argument is a 'socklen_t' type in POSIX, but windows -       and other pre-POSIX systems use 'int' here! */ -    if (setsockopt(curlfd, SOL_SOCKET, SO_KEEPALIVE, &data, sizeof(data)) < 0) { +    if(setsockopt(curlfd, SOL_SOCKET, SO_KEEPALIVE, (void *)&onoff, +                  sizeof(onoff)) < 0) {        warnf(clientp, "Could not set SO_KEEPALIVE!\n");        return 1;      } | 
