Example #1
0
memcached_result_st *memcached_result_create(const memcached_st *memc,
                                             memcached_result_st *ptr)
{
  WATCHPOINT_ASSERT(memc);

  /* Saving malloc calls :) */
  if (ptr)
  {
    ptr->options.is_allocated= false;
  }
  else
  {
    ptr= libmemcached_malloc(memc, sizeof(memcached_result_st));

    if (ptr == NULL)
      return NULL;

    ptr->options.is_allocated= true;
  }

  ptr->options.is_initialized= true;

  _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);

  return ptr;
}
Example #2
0
memcached_array_st *memcached_strcpy(memcached_st *memc, const char *str, size_t str_length)
{
  memcached_array_st *array= (struct memcached_array_st *)libmemcached_malloc(memc, sizeof(struct memcached_array_st) +str_length +1);

  if (! array)
    return NULL;

  array->root= memc;
  array->size= str_length -1; // We don't count the NULL ending
  memcpy(array->c_str, str, str_length);
  array->c_str[str_length]= 0;

  return array;
}
memcached_array_st *memcached_strcpy(struct memcached_st *memc, const char *str, size_t str_length)
{
  assert(memc);
  assert(str);
  assert(str_length);

  memcached_array_st *array= (struct memcached_array_st *)libmemcached_malloc(memc, sizeof(struct memcached_array_st) +str_length +1);

  if (array)
  {
    array->root= memc;
    array->size= str_length; // We don't count the NULL ending
    memcpy(array->c_str, str, str_length);
    array->c_str[str_length]= 0;
  }

  return array;
}