self->error_messages= NULL;
self->prefix_key= NULL;
+ self->configure.initial_pool_size= 1;
+ self->configure.max_pool_size= 1;
self->configure.filename= NULL;
return true;
return ptr;
}
-memcached_st *memcached_create_with_options(const char *string, size_t length)
+memcached_st *memcached(const char *string, size_t length)
{
- memcached_st *self= memcached_create(NULL);
+ if (! length || ! string)
+ {
+ errno= EINVAL;
+ return NULL;
+ }
+ memcached_st *self= memcached_create(NULL);
if (! self)
+ {
+ errno= ENOMEM;
return NULL;
+ }
memcached_return_t rc;
- if ((rc= memcached_parse_configuration(self, string, length)) != MEMCACHED_SUCCESS)
- {
- return self;
- }
+ rc= memcached_parse_configuration(self, string, length);
- if (memcached_parse_filename(self))
+ if (rc == MEMCACHED_SUCCESS && memcached_parse_filename(self))
{
rc= memcached_parse_configure_file(self, memcached_parse_filename(self), memcached_parse_filename_length(self));
}
+
+ if (rc != MEMCACHED_SUCCESS)
+ {
+ memcached_free(self);
+ errno= EINVAL;
+ return NULL;
+ }
+
+ errno= 0;
return self;
}
void memcached_servers_reset(memcached_st *ptr)
{
+ if (! ptr)
+ return;
+
memcached_server_list_free(memcached_server_list(ptr));
memcached_server_list_set(ptr, NULL);
void memcached_reset_last_disconnected_server(memcached_st *ptr)
{
+ if (! ptr)
+ return;
+
if (ptr->last_disconnected_server)
{
memcached_server_free(ptr->last_disconnected_server);
void memcached_free(memcached_st *ptr)
{
+ if (! ptr)
+ return;
+
_free(ptr, true);
}