Updating for release
[awesomized/libmemcached] / lib / memcached_auto.c
index 0bb91fd0cd0bf78ad04ea8562203479b93d617cf..69b975c1603598296c8618bba6b532eb981e4ecc 100644 (file)
@@ -11,20 +11,18 @@ static memcached_return memcached_auto(memcached_st *ptr,
   char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
   unsigned int server_key;
 
-  rc= memcached_connect(ptr);
+  server_key= memcached_generate_hash(ptr, key, key_length);
 
-  if (rc != MEMCACHED_SUCCESS)
+  if ((rc= memcached_connect(ptr, server_key)) != MEMCACHED_SUCCESS)
     return rc;
 
-  server_key= memcached_generate_hash(key, key_length) % ptr->number_of_hosts;
-
   send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, 
                         "%s %.*s %u\r\n", verb, 
                         (int)key_length, key,
                         offset);
   if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE)
     return MEMCACHED_WRITE_FAILURE;
-  sent_length= send(ptr->hosts[server_key].fd, buffer, send_length, 0);
+  sent_length= memcached_io_write(ptr, server_key, buffer, send_length, 1);
 
   if (sent_length == -1 || sent_length != send_length)
     return MEMCACHED_WRITE_FAILURE;