Update for build.
[m6w6/libmemcached] / libmemcached / result.c
index f673413bf25fe69f923356a33dd3063aa38b531d..dae53bf7ec8875675e6e33bdf21c5ac6287f32a3 100644 (file)
@@ -53,6 +53,7 @@ memcached_result_st *memcached_result_create(const memcached_st *memc,
   _result_init(ptr, memc);
 
   ptr->root= memc;
+  WATCHPOINT_SET(ptr->value.options.is_initialized= false);
   memcached_string_create(memc, &ptr->value, 0);
   WATCHPOINT_ASSERT_INITIALIZED(&ptr->value);
   WATCHPOINT_ASSERT(ptr->value.string == NULL);
@@ -93,3 +94,45 @@ memcached_return_t memcached_result_set_value(memcached_result_st *ptr,
 {
   return memcached_string_append(&ptr->value, value, length);
 }
+
+const char *memcached_result_key_value(const memcached_result_st *self)
+{
+  return self->key_length ? self->item_key : NULL;
+}
+
+size_t memcached_result_key_length(const memcached_result_st *self)
+{
+  return self->key_length;
+}
+
+const char *memcached_result_value(const memcached_result_st *self)
+{
+  const memcached_string_st *sptr= &self->value;
+  return memcached_string_value(sptr);
+}
+
+size_t memcached_result_length(const memcached_result_st *self)
+{
+  const memcached_string_st *sptr= &self->value;
+  return memcached_string_length(sptr);
+}
+
+uint32_t memcached_result_flags(const memcached_result_st *self)
+{
+  return self->item_flags;
+}
+
+uint64_t memcached_result_cas(const memcached_result_st *self)
+{
+  return self->item_cas;
+}
+
+void memcached_result_set_flags(memcached_result_st *self, uint32_t flags)
+{
+  self->item_flags= flags;
+}
+
+void memcached_result_set_expiration(memcached_result_st *self, time_t expiration)
+{
+  self->item_expiration= expiration;
+}