self->address_info= NULL;
self->address_info_next= NULL;
+ self->state= MEMCACHED_SERVER_STATE_NEW;
+
if (root)
{
self->next_retry= root->retry_timeout;
self->root= root;
self->limit_maxbytes= 0;
- if (hostname == NULL)
+ if (hostname)
{
- self->hostname[0]= 0;
+ strncpy(self->hostname, hostname, NI_MAXHOST - 1);
}
else
{
- strncpy(self->hostname, hostname, NI_MAXHOST - 1);
+ self->hostname[0]= 0;
}
}
void memcached_server_free(memcached_server_st *self)
{
- assert(self);
+ if (not self)
+ return;
+
memcached_quit_server(self, false);
if (self->cached_server_error)
if (memcached_is_allocated(self))
{
- if (self->root)
- {
- libmemcached_free(self->root, self);
- }
- else
- {
- free(self);
- }
+ libmemcached_free(self->root, self);
}
else
{
destination= memcached_server_create_with(source->root, destination,
source->hostname, source->port, source->weight,
source->type);
- if (destination != NULL)
+ if (not destination)
{
destination->cached_errno= source->cached_errno;
}
}
- memcached_st *root= self->root;
- if (root)
- {
- libmemcached_free(root, self);
- }
- else
- {
- free(self);
- }
+ libmemcached_free(self->root, self);
}
uint32_t memcached_servers_set_count(memcached_server_st *servers, uint32_t count)