+ if (self == NULL)
+ return;
+
+ const memcached_st *root= self->root;
+
+ for (uint32_t x= 0; x < memcached_server_list_count(self); x++)
+ {
+ if (self[x].address_info)
+ {
+ freeaddrinfo(self[x].address_info);
+ self[x].address_info= NULL;
+ }
+ }
+
+ if (root)
+ {
+ libmemcached_free(root, self);
+ }
+ else
+ {
+ free(self);
+ }
+}
+
+uint32_t memcached_servers_set_count(memcached_server_st *servers, uint32_t count)
+{
+ return servers->number_of_hosts= count;
+}
+
+uint32_t memcached_server_count(const memcached_st *self)
+{
+ return self->number_of_hosts;
+}
+
+const char *memcached_server_name(memcached_server_instance_st self)
+{
+ return self->hostname;
+}
+
+in_port_t memcached_server_port(memcached_server_instance_st self)
+{
+ return self->port;