projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Rewrote internal connect function to do by demand (aka only open up
[m6w6/libmemcached]
/
lib
/
memcached_response.c
diff --git
a/lib/memcached_response.c
b/lib/memcached_response.c
index 42a06411175db1e664ac80e5d5bef1cc748c0324..5b0b7831cd8b7fef75d43e806cfa0c30393bde90 100644
(file)
--- a/
lib/memcached_response.c
+++ b/
lib/memcached_response.c
@@
-12,28
+12,33
@@
memcached_return memcached_response(memcached_st *ptr,
char *buffer, size_t buffer_length,
unsigned int server_key)
{
char *buffer, size_t buffer_length,
unsigned int server_key)
{
+ unsigned int x;
size_t send_length;
char *buffer_ptr;
memset(buffer, 0, buffer_length);
send_length= 0;
size_t send_length;
char *buffer_ptr;
memset(buffer, 0, buffer_length);
send_length= 0;
- buffer_ptr= buffer;
- while (1)
+ for (x= 0; x <= ptr->stack_responses; x++)
{
{
- unsigned int read_length;
+ buffer_ptr= buffer;
+ while (1)
+ {
+ unsigned int read_length;
- read_length= memcached_io_read(ptr, server_key,
- buffer_ptr, 1);
+
read_length= memcached_io_read(ptr, server_key,
+
buffer_ptr, 1);
- if (read_length != 1)
- return MEMCACHED_UNKNOWN_READ_FAILURE;
+
if (read_length != 1)
+
return MEMCACHED_UNKNOWN_READ_FAILURE;
- if (*buffer_ptr == '\n')
- break;
- else
- buffer_ptr++;
+ if (*buffer_ptr == '\n')
+ break;
+ else
+ buffer_ptr++;
+ }
}
}
+ ptr->stack_responses= 0;
switch(buffer[0])
{
switch(buffer[0])
{
@@
-44,7
+49,7
@@
memcached_return memcached_response(memcached_st *ptr,
case 'S': /* STORED STATS SERVER_ERROR */
{
if (buffer[2] == 'A') /* STORED STATS */
case 'S': /* STORED STATS SERVER_ERROR */
{
if (buffer[2] == 'A') /* STORED STATS */
- return MEMCACHED_S
UCCESS
;
+ return MEMCACHED_S
TAT
;
else if (buffer[1] == 'E')
return MEMCACHED_SERVER_ERROR;
else if (buffer[1] == 'T')
else if (buffer[1] == 'E')
return MEMCACHED_SERVER_ERROR;
else if (buffer[1] == 'T')