projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Adding new memcached_clone() function
[m6w6/libmemcached]
/
lib
/
memcached_response.c
diff --git
a/lib/memcached_response.c
b/lib/memcached_response.c
index 5b0b7831cd8b7fef75d43e806cfa0c30393bde90..673ccb2f6aed105c9e7c661ca3a2e486813bb694 100644
(file)
--- a/
lib/memcached_response.c
+++ b/
lib/memcached_response.c
@@
-15,13
+15,18
@@
memcached_return memcached_response(memcached_st *ptr,
unsigned int x;
size_t send_length;
char *buffer_ptr;
unsigned int x;
size_t send_length;
char *buffer_ptr;
+ unsigned int max_messages;
+
memset(buffer, 0, buffer_length);
send_length= 0;
memset(buffer, 0, buffer_length);
send_length= 0;
- for (x= 0; x <= ptr->stack_responses; x++)
+ max_messages= memcached_server_response_count(ptr, server_key);
+ for (x= 0; x <= max_messages; x++)
{
{
+ size_t total_length= 0;
buffer_ptr= buffer;
buffer_ptr= buffer;
+
while (1)
{
unsigned int read_length;
while (1)
{
unsigned int read_length;
@@
-36,9
+41,14
@@
memcached_return memcached_response(memcached_st *ptr,
break;
else
buffer_ptr++;
break;
else
buffer_ptr++;
+
+ total_length++;
+ WATCHPOINT_ASSERT(total_length < buffer_length);
}
}
+
+ if (memcached_server_response_count(ptr, server_key))
+ memcached_server_response_decrement(ptr, server_key);
}
}
- ptr->stack_responses= 0;
switch(buffer[0])
{
switch(buffer[0])
{