projects
/
m6w6
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Remove special condition for block and version.
[m6w6/libmemcached]
/
clients
/
ms_conn.c
diff --git
a/clients/ms_conn.c
b/clients/ms_conn.c
index 9f92d423c1796093072662d0120ba4cd684af3e3..d7cd2de06c5b4c813e1789151e949431868b6875 100644
(file)
--- a/
clients/ms_conn.c
+++ b/
clients/ms_conn.c
@@
-797,7
+797,11
@@
static int ms_network_connect(ms_conn_t *c,
* that otherwise mess things up.
*/
memset(&hints, 0, sizeof(hints));
* that otherwise mess things up.
*/
memset(&hints, 0, sizeof(hints));
+#ifdef AI_ADDRCONFIG
hints.ai_flags= AI_PASSIVE | AI_ADDRCONFIG;
hints.ai_flags= AI_PASSIVE | AI_ADDRCONFIG;
+#else
+ hints.ai_flags= AI_PASSIVE;
+#endif /* AI_ADDRCONFIG */
if (is_udp)
{
hints.ai_protocol= IPPROTO_UDP;
if (is_udp)
{
hints.ai_protocol= IPPROTO_UDP;
@@
-2752,18
+2756,18
@@
static uint32_t ms_get_rep_sock_index(ms_conn_t *c, int cmd)
if (i == ms_setting.rep_write_srv)
{
/* random get one replication server to read */
if (i == ms_setting.rep_write_srv)
{
/* random get one replication server to read */
- sock_index= (uint32_t)
(random() % c->total_sfds)
;
+ sock_index= (uint32_t)
random() % c->total_sfds
;
}
else
{
/* random get one replication writing server to write */
}
else
{
/* random get one replication writing server to write */
- sock_index= (uint32_t)
(random() % ms_setting.rep_write_srv)
;
+ sock_index= (uint32_t)
random() % ms_setting.rep_write_srv
;
}
}
else if (cmd == CMD_GET)
{
/* random get one replication server to read */
}
}
else if (cmd == CMD_GET)
{
/* random get one replication server to read */
- sock_index= (uint32_t)
(random() % c->total_sfds)
;
+ sock_index= (uint32_t)
random() % c->total_sfds
;
}
}
while (c->tcpsfd[sock_index] == 0);
}
}
while (c->tcpsfd[sock_index] == 0);
@@
-2882,13
+2886,14
@@
static int ms_build_ascii_write_buf_set(ms_conn_t *c, ms_task_item_t *item)
int write_len;
char *buffer= c->wbuf;
int write_len;
char *buffer= c->wbuf;
- write_len= sprintf(buffer,
- " %u %d %d\r\n",
- 0,
- item->exp_time,
- item->value_size);
+ write_len= snprintf(buffer,
+ c->wsize,
+ " %u %d %d\r\n",
+ 0,
+ item->exp_time,
+ item->value_size);
- if (write_len > c->wsize)
+ if (write_len > c->wsize
|| write_len < 0
)
{
/* ought to be always enough. just fail for simplicity */
fprintf(stderr, "output command line too long.\n");
{
/* ought to be always enough. just fail for simplicity */
fprintf(stderr, "output command line too long.\n");