Updating the get function in the C++ interface.
[awesomized/libmemcached] / libmemcached / memcached_connect.c
index fb79c80ad5d7296d900878a6e81406c80aa77a35..0d61f847bab0996e2de08a41ba333b47851b720c 100644 (file)
@@ -218,7 +218,7 @@ static memcached_return network_connect(memcached_server_st *ptr)
 
       (void)set_socket_options(ptr);
 
-      int flags;
+      int flags= 0;
       if (ptr->root->connect_timeout)
       {
         flags= fcntl(ptr->fd, F_GETFL, 0);
@@ -234,7 +234,9 @@ static memcached_return network_connect(memcached_server_st *ptr)
         if (errno == EINPROGRESS || /* nonblocking mode - first return, */
             errno == EALREADY) /* nonblocking mode - subsequent returns */
         {
-          struct pollfd fds[1] = { [0].fd = ptr->fd, [0].events = POLLOUT };
+          struct pollfd fds[1];
+          fds[0].fd = ptr->fd;
+          fds[0].events = POLLOUT;
           int error= poll(fds, 1, ptr->root->connect_timeout);
 
           if (error != 1 || fds[0].revents & POLLERR)
@@ -242,7 +244,7 @@ static memcached_return network_connect(memcached_server_st *ptr)
             if (fds[0].revents & POLLERR)
             {
               int err;
-              int len = sizeof (err);
+              socklen_t len = sizeof (err);
               (void)getsockopt(ptr->fd, SOL_SOCKET, SO_ERROR, &err, &len);
               ptr->cached_errno= (err == 0) ? errno : err;
             }
@@ -304,6 +306,7 @@ memcached_return memcached_connect(memcached_server_st *ptr)
   LIBMEMCACHED_MEMCACHED_CONNECT_START();
 
   /* both retry_timeout and server_failure_limit must be set in order to delay retrying a server on error. */
+  WATCHPOINT_ASSERT(ptr->root);
   if (ptr->root->retry_timeout && ptr->root->server_failure_limit)
   {
     struct timeval next_time;