Abstract out ptr->hosts[server_key] references.
[m6w6/libmemcached] / libmemcached / server.c
index f3bc6998370346f3bbd13000b953c518345eaf30..d104d023ed7cf0d6ffcf3680779742ac3040b3fe 100644 (file)
@@ -136,6 +136,7 @@ memcached_return_t memcached_server_cursor(memcached_st *ptr,
 memcached_server_st *memcached_server_by_key(memcached_st *ptr,  const char *key, size_t key_length, memcached_return_t *error)
 {
   uint32_t server_key;
+  memcached_server_instance_st *instance;
 
   *error= memcached_validate_key_length(key_length,
                                         ptr->flags.binary_protocol);
@@ -155,8 +156,9 @@ memcached_server_st *memcached_server_by_key(memcached_st *ptr,  const char *key
   }
 
   server_key= memcached_generate_hash(ptr, key, key_length);
+  instance= memcached_server_instance_fetch(ptr, server_key);
 
-  return memcached_server_clone(NULL, &ptr->hosts[server_key]);
+  return memcached_server_clone(NULL, instance);
 
 }