projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
NEw code for the memcached_fetch_execute() function.
[m6w6/libmemcached]
/
lib
/
memcached_hosts.c
diff --git
a/lib/memcached_hosts.c
b/lib/memcached_hosts.c
index 3517d824698c4f359d9e188ff1734bc5e49614da..6f49b270a98b305426d168ea528b11c3d16e3a8c 100644
(file)
--- a/
lib/memcached_hosts.c
+++ b/
lib/memcached_hosts.c
@@
-38,7
+38,7
@@
static void host_reset(memcached_server_st *host, char *hostname, unsigned int p
memcached_connection type)
{
memset(host, 0, sizeof(memcached_server_st));
memcached_connection type)
{
memset(host, 0, sizeof(memcached_server_st));
-
memcpy(host->hostname, hostname, strlen(hostname)
);
+
strncpy(host->hostname, hostname, MEMCACHED_MAX_HOST_LENGTH - 1
);
host->port= port;
host->fd= -1;
host->type= type;
host->port= port;
host->fd= -1;
host->type= type;
@@
-148,8
+148,8
@@
memcached_server_st *memcached_server_list_append(memcached_server_st *ptr,
unsigned int count;
memcached_server_st *new_host_list;
unsigned int count;
memcached_server_st *new_host_list;
- if (
!hostname
)
- return
ptr
;
+ if (
hostname == NULL || error == NULL
)
+ return
NULL
;
if (!port)
port= MEMCACHED_DEFAULT_PORT;
if (!port)
port= MEMCACHED_DEFAULT_PORT;
@@
-186,8
+186,14
@@
unsigned int memcached_server_list_count(memcached_server_st *ptr)
void memcached_server_list_free(memcached_server_st *ptr)
{
void memcached_server_list_free(memcached_server_st *ptr)
{
+ unsigned int x;
+
if (ptr == NULL)
return;
if (ptr == NULL)
return;
+ for (x= 0; x < ptr->count; x++)
+ if (ptr[x].address_info)
+ freeaddrinfo(ptr[x].address_info);
+
free(ptr);
}
free(ptr);
}