#include <libmemcached/common.h>
#include <cassert>
-static inline void _server_init(memcached_server_st *self, const memcached_st *root,
+static inline void _server_init(memcached_server_st *self, memcached_st *root,
const char *hostname, in_port_t port,
uint32_t weight, memcached_connection_t type)
{
static memcached_server_st *_server_create(memcached_server_st *self, const memcached_st *memc)
{
- if (self == NULL)
+ if (not self)
{
self= (memcached_server_st *)libmemcached_malloc(memc, sizeof(memcached_server_st));
- if (! self)
+ if (not self)
return NULL; /* MEMCACHED_MEMORY_ALLOCATION_FAILURE */
self->options.is_allocated= true;
{
self= _server_create(self, memc);
- if (self == NULL)
+ if (not self)
return NULL;
- _server_init(self, memc, hostname, port, weight, type);
+ _server_init(self, const_cast<memcached_st *>(memc), hostname, port, weight, type);
if (type == MEMCACHED_CONNECTION_UDP)
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;
}
}
- const memcached_st *root= self->root;
- if (root)
- {
- libmemcached_free(root, self);
- }
- else
- {
- free(self);
- }
+ memcached_st *root= self->root;
+ libmemcached_free(root, self);
}
uint32_t memcached_servers_set_count(memcached_server_st *servers, uint32_t count)