X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=lib%2Fmemcached_hosts.c;h=d5ec56064534af7b1ff02de9797138eb59b3015a;hb=331a25a55b57056f81690a6573e0ef06158ed108;hp=ad0cad2e438d9d20d9cfd675c1dbc94e9300a0ae;hpb=4f6aad18ceca09083cbe56e5956247f54b233445;p=awesomized%2Flibmemcached diff --git a/lib/memcached_hosts.c b/lib/memcached_hosts.c index ad0cad2e..d5ec5606 100644 --- a/lib/memcached_hosts.c +++ b/lib/memcached_hosts.c @@ -9,12 +9,13 @@ static memcached_return server_add(memcached_st *ptr, char *hostname, static void host_reset(memcached_server_st *host, char *new_hostname, unsigned int port, memcached_connection type) { - host->stack_responses= 0; - host->cursor_active= 0; + memset(host, 0, sizeof(memcached_server_st)); host->hostname= new_hostname; host->port= port; host->fd= -1; host->type= type; + host->read_ptr= host->read_buffer; + host->write_ptr= host->write_buffer; } memcached_return memcached_server_push(memcached_st *ptr, memcached_server_st *list) @@ -61,7 +62,22 @@ memcached_return memcached_server_add_unix_socket(memcached_st *ptr, char *filen return server_add(ptr, filename, 0, MEMCACHED_CONNECTION_UNIX_SOCKET); } -memcached_return memcached_server_add(memcached_st *ptr, char *hostname, unsigned int port) +memcached_return memcached_server_add_udp(memcached_st *ptr, + char *hostname, + unsigned int port) +{ + if (!port) + port= MEMCACHED_DEFAULT_PORT; + + if (!hostname) + hostname= "localhost"; + + return server_add(ptr, hostname, port, MEMCACHED_CONNECTION_UDP); +} + +memcached_return memcached_server_add(memcached_st *ptr, + char *hostname, + unsigned int port) { if (!port) port= MEMCACHED_DEFAULT_PORT; @@ -108,7 +124,6 @@ static memcached_return server_add(memcached_st *ptr, char *hostname, if (!new_hostname) return MEMCACHED_MEMORY_ALLOCATION_FAILURE; - memset(new_hostname, 0, strlen(hostname)+1); memcpy(new_hostname, hostname, strlen(hostname)); host_reset(&ptr->hosts[ptr->number_of_hosts], new_hostname, port, type); ptr->number_of_hosts++;