*/
#include "libmemcached/common.h"
+#include "p9y/random.hpp"
char *memcached_get(memcached_st *ptr, const char *key, size_t key_length, size_t *value_length,
uint32_t *flags, memcached_return_t *error) {
if (rc == MEMCACHED_SUCCESS or rc == MEMCACHED_BUFFERED) {
*error = rc;
- *value_length = memcached_result_length(result_ptr);
- *flags = memcached_result_flags(result_ptr);
+ if (value_length) {
+ *value_length = memcached_result_length(result_ptr);
+ }
+ if (flags) {
+ *flags = memcached_result_flags(result_ptr);
+ }
char *result_value = memcached_string_take_value(&result_ptr->value);
memcached_result_free(result_ptr);
if (instance->response_count()) {
char buffer[MEMCACHED_DEFAULT_COMMAND_SIZE];
- if (ptr->flags.no_block) {
+ if (ptr->flags.no_block || ptr->flags.buffer_requests) {
memcached_io_write(instance);
}