projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Merge in scanner code.
[awesomized/libmemcached]
/
libmemcached
/
dump.c
diff --git
a/libmemcached/dump.c
b/libmemcached/dump.c
index a79f95c5f55730065b9aa5c5fc639465fbee3ad8..9ec2dab5982ebbf46bce70dcbc8fa797dc198b48 100644
(file)
--- a/
libmemcached/dump.c
+++ b/
libmemcached/dump.c
@@
-11,22
+11,30
@@
static memcached_return_t ascii_dump(memcached_st *ptr, memcached_dump_fn *callb
{
memcached_return_t rc= MEMCACHED_SUCCESS;
char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
{
memcached_return_t rc= MEMCACHED_SUCCESS;
char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
- size_t send_length;
uint32_t server_key;
uint32_t x;
uint32_t server_key;
uint32_t x;
- unlikely (
ptr->number_of_hosts
== 0)
+ unlikely (
memcached_server_count(ptr)
== 0)
return MEMCACHED_NO_SERVERS;
return MEMCACHED_NO_SERVERS;
- for (server_key= 0; server_key <
ptr->number_of_hosts
; server_key++)
+ for (server_key= 0; server_key <
memcached_server_count(ptr)
; server_key++)
{
{
+ memcached_server_write_instance_st instance;
+ instance= memcached_server_instance_fetch(ptr, server_key);
+
/* 256 I BELIEVE is the upper limit of slabs */
for (x= 0; x < 256; x++)
{
/* 256 I BELIEVE is the upper limit of slabs */
for (x= 0; x < 256; x++)
{
- send_length= (size_t) snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE,
- "stats cachedump %u 0 0\r\n", x);
+ int send_length;
+ send_length= snprintf(buffer, MEMCACHED_DEFAULT_COMMAND_SIZE,
+ "stats cachedump %u 0 0\r\n", x);
- rc= memcached_do(&ptr->hosts[server_key], buffer, send_length, 1);
+ if (send_length >= MEMCACHED_DEFAULT_COMMAND_SIZE || send_length < 0)
+ {
+ return MEMCACHED_FAILURE;
+ }
+
+ rc= memcached_do(instance, buffer, (size_t)send_length, true);
unlikely (rc != MEMCACHED_SUCCESS)
goto error;
unlikely (rc != MEMCACHED_SUCCESS)
goto error;
@@
-34,7
+42,7
@@
static memcached_return_t ascii_dump(memcached_st *ptr, memcached_dump_fn *callb
while (1)
{
uint32_t callback_counter;
while (1)
{
uint32_t callback_counter;
- rc= memcached_response(
&ptr->hosts[server_key]
, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL);
+ rc= memcached_response(
instance
, buffer, MEMCACHED_DEFAULT_COMMAND_SIZE, NULL);
if (rc == MEMCACHED_ITEM)
{
if (rc == MEMCACHED_ITEM)
{
@@
-88,4
+96,3
@@
memcached_return_t memcached_dump(memcached_st *ptr, memcached_dump_fn *callback
return ascii_dump(ptr, callback, context, number_of_callbacks);
}
return ascii_dump(ptr, callback, context, number_of_callbacks);
}
-