7b9da5ed437ed3e38aa0d06d49145aaca0f9e010
[awesomized/libmemcached] / libmemcached / memcached_do.c
1 #include "common.h"
2
3 memcached_return memcached_do(memcached_server_st *ptr, const void *command,
4 size_t command_length, uint8_t with_flush)
5 {
6 memcached_return rc;
7 ssize_t sent_length;
8
9 WATCHPOINT_ASSERT(command_length);
10 WATCHPOINT_ASSERT(command);
11
12 if ((rc= memcached_connect(ptr)) != MEMCACHED_SUCCESS)
13 return rc;
14
15 sent_length= memcached_io_write(ptr, command, command_length, with_flush);
16
17 if (sent_length == -1 || sent_length != command_length)
18 rc= MEMCACHED_WRITE_FAILURE;
19 else
20 memcached_server_response_increment(ptr);
21
22 return rc;
23 }