2 memcached_result_st are used to internally represent the return values from
3 memcached. We use a structure so that long term as identifiers are added
4 to memcached we will be able to absorb new attributes without having
5 to addjust the entire API.
9 memcached_result_st
*memcached_result_create(memcached_st
*memc
,
10 memcached_result_st
*ptr
)
12 /* Saving malloc calls :) */
14 memset(ptr
, 0, sizeof(memcached_result_st
));
17 if (memc
->call_malloc
)
18 ptr
= (memcached_result_st
*)memc
->call_malloc(memc
, sizeof(memcached_result_st
));
20 ptr
= (memcached_result_st
*)malloc(sizeof(memcached_result_st
));
24 memset(ptr
, 0, sizeof(memcached_result_st
));
25 ptr
->is_allocated
= true;
29 memcached_string_create(memc
, &ptr
->value
, 0);
30 WATCHPOINT_ASSERT(ptr
->value
.string
== NULL
);
35 void memcached_result_reset(memcached_result_st
*ptr
)
38 memcached_string_reset(&ptr
->value
);
47 memcached_return
memcached_result_set_value(memcached_result_st
*ptr
, char *value
, size_t length
)
49 return memcached_string_append(&ptr
->value
, value
, length
);
52 void memcached_result_free(memcached_result_st
*ptr
)
57 memcached_string_free(&ptr
->value
);
59 if (ptr
->is_allocated
)