projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Added behavior method around testing of keys.
[m6w6/libmemcached]
/
lib
/
memcached_storage.c
diff --git
a/lib/memcached_storage.c
b/lib/memcached_storage.c
index 38d6d0db3ca689ccb75d3717bdef30930ab488a9..443389e029a583f03418a73f35695a39bef77f4c 100644
(file)
--- a/
lib/memcached_storage.c
+++ b/
lib/memcached_storage.c
@@
-66,6
+66,9
@@
static inline memcached_return memcached_send(memcached_st *ptr,
if (ptr->number_of_hosts == 0)
return MEMCACHED_NO_SERVERS;
if (ptr->number_of_hosts == 0)
return MEMCACHED_NO_SERVERS;
+ if ((ptr->flags & MEM_VERIFY_KEY) && (memcachd_key_test(&key, &key_length, 1) == MEMCACHED_BAD_KEY_PROVIDED))
+ return MEMCACHED_BAD_KEY_PROVIDED;
+
server_key= memcached_generate_hash(ptr, master_key, master_key_length);
if (cas)
server_key= memcached_generate_hash(ptr, master_key, master_key_length);
if (cas)
@@
-86,11
+89,11
@@
static inline memcached_return memcached_send(memcached_st *ptr,
goto error;
}
goto error;
}
- rc= memcached_do(
ptr, server_key
, buffer, write_length, 0);
+ rc= memcached_do(
&ptr->hosts[server_key]
, buffer, write_length, 0);
if (rc != MEMCACHED_SUCCESS)
goto error;
if (rc != MEMCACHED_SUCCESS)
goto error;
- if ((sent_length= memcached_io_write(
ptr, server_key
, value, value_length, 0)) == -1)
+ if ((sent_length= memcached_io_write(
&ptr->hosts[server_key]
, value, value_length, 0)) == -1)
{
rc= MEMCACHED_WRITE_FAILURE;
goto error;
{
rc= MEMCACHED_WRITE_FAILURE;
goto error;
@@
-101,7
+104,7
@@
static inline memcached_return memcached_send(memcached_st *ptr,
else
to_write= 1;
else
to_write= 1;
- if ((sent_length= memcached_io_write(
ptr, server_key
, "\r\n", 2, to_write)) == -1)
+ if ((sent_length= memcached_io_write(
&ptr->hosts[server_key]
, "\r\n", 2, to_write)) == -1)
{
rc= MEMCACHED_WRITE_FAILURE;
goto error;
{
rc= MEMCACHED_WRITE_FAILURE;
goto error;
@@
-110,7
+113,7
@@
static inline memcached_return memcached_send(memcached_st *ptr,
if (to_write == 0)
return MEMCACHED_BUFFERED;
if (to_write == 0)
return MEMCACHED_BUFFERED;
- rc= memcached_response(
ptr, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL, server_key
);
+ rc= memcached_response(
&ptr->hosts[server_key], buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL
);
if (rc == MEMCACHED_STORED)
return MEMCACHED_SUCCESS;
if (rc == MEMCACHED_STORED)
return MEMCACHED_SUCCESS;
@@
-118,7
+121,7
@@
static inline memcached_return memcached_send(memcached_st *ptr,
return rc;
error:
return rc;
error:
- memcached_io_reset(
ptr, server_key
);
+ memcached_io_reset(
&ptr->hosts[server_key]
);
return rc;
}
return rc;
}