Setup for next version (and fixes for util for RPM)
[awesomized/libmemcached] / libmemcached / memcached_server.c
index 75e44d0ca76450d62bd0cc8e2a93dd25aa129452..4aebfd3b7367506dfb030cb64794226fd56d2b29 100644 (file)
@@ -41,6 +41,11 @@ memcached_server_st *memcached_server_create_with(memcached_st *memc, memcached_
   host->read_ptr= host->read_buffer;
   if (memc)
     host->next_retry= memc->retry_timeout;
+  if (type == MEMCACHED_CONNECTION_UDP)
+  {
+    host->write_buffer_offset= UDP_DATAGRAM_HEADER_LENGTH;
+    memcached_io_init_udp_header(host, 0);
+  }
 
   return host;
 }
@@ -110,11 +115,10 @@ memcached_server_st *memcached_server_by_key(memcached_st *ptr,  const char *key
 {
   uint32_t server_key;
 
-  unlikely (key_length == 0)
-  {
-    *error= MEMCACHED_NO_KEY_PROVIDED;
+  *error= memcached_validate_key_length(key_length, 
+                                        ptr->flags & MEM_BINARY_PROTOCOL);
+  unlikely (*error != MEMCACHED_SUCCESS)
     return NULL;
-  }
 
   unlikely (ptr->number_of_hosts == 0)
   {
@@ -122,7 +126,7 @@ memcached_server_st *memcached_server_by_key(memcached_st *ptr,  const char *key
     return NULL;
   }
 
-  if ((ptr->flags & MEM_VERIFY_KEY) && (memcachd_key_test((char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED))
+  if ((ptr->flags & MEM_VERIFY_KEY) && (memcached_key_test((char **)&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED))
   {
     *error= MEMCACHED_BAD_KEY_PROVIDED;
     return NULL;