projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Fix OSX failure, and have memcached_do just use memcached_vdo
[m6w6/libmemcached]
/
libmemcached
/
key.cc
diff --git
a/libmemcached/key.cc
b/libmemcached/key.cc
index 02e0c2b326dbfcb51400c04e8c2c17c3a36dd58e..ea98c729f02b92f5fdf187623dba9ec4a37b0ad0 100644
(file)
--- a/
libmemcached/key.cc
+++ b/
libmemcached/key.cc
@@
-37,16
+37,43
@@
#include <libmemcached/common.h>
#include <libmemcached/common.h>
-memcached_return_t memcached_key_test(
const
memcached_st &memc,
+memcached_return_t memcached_key_test(memcached_st &memc,
const char * const *keys,
const size_t *key_length,
size_t number_of_keys)
{
const char * const *keys,
const size_t *key_length,
size_t number_of_keys)
{
+ if (keys == NULL or key_length == NULL)
+ {
+ return memcached_set_error(memc, MEMCACHED_BAD_KEY_PROVIDED, MEMCACHED_AT);
+ }
+
if (not memc.flags.verify_key)
if (not memc.flags.verify_key)
+ {
+ for (uint32_t x= 0; x < number_of_keys; x++)
+ {
+ memcached_return_t rc= memcached_validate_key_length(*(key_length +x), false);
+ if (memcached_failed(rc))
+ {
+ return rc;
+ }
+ }
+
return MEMCACHED_SUCCESS;
return MEMCACHED_SUCCESS;
+ }
if (memc.flags.binary_protocol)
if (memc.flags.binary_protocol)
+ {
+ for (uint32_t x= 0; x < number_of_keys; x++)
+ {
+ memcached_return_t rc= memcached_validate_key_length(*(key_length +x), false);
+ if (memcached_failed(rc))
+ {
+ return rc;
+ }
+ }
+
return MEMCACHED_SUCCESS;
return MEMCACHED_SUCCESS;
+ }
for (uint32_t x= 0; x < number_of_keys; x++)
{
for (uint32_t x= 0; x < number_of_keys; x++)
{