X-Git-Url: https://arthur.barton.de/gitweb/?a=blobdiff_plain;f=src%2Fsocket.c;h=400c1ef4e2456020c5fb36794dc7c8cc449522ab;hb=5b0b88ab1b3ef68f54146f0ada19ae7d392bee78;hp=6906a2882d9f79468743ef3ee2484db486e2bfdb;hpb=4f6bb2e96f622233e130b249b38c99a47c3b766f;p=netdata.git diff --git a/src/socket.c b/src/socket.c index 6906a288..400c1ef4 100644 --- a/src/socket.c +++ b/src/socket.c @@ -180,7 +180,7 @@ int connect_to(const char *definition, int default_port, struct timeval *timeout return fd; } -int connect_to_one_of(const char *destination, int default_port, struct timeval *timeout, size_t *reconnects_counter) { +int connect_to_one_of(const char *destination, int default_port, struct timeval *timeout, size_t *reconnects_counter, char *connected_to, size_t connected_to_size) { int sock = -1; const char *s = destination; @@ -200,7 +200,13 @@ int connect_to_one_of(const char *destination, int default_port, struct timeval strncpyz(buf, s, e - s); if(reconnects_counter) *reconnects_counter += 1; sock = connect_to(buf, default_port, timeout); - if(sock != -1) break; + if(sock != -1) { + if(connected_to && connected_to_size) { + strncpy(connected_to, buf, connected_to_size); + connected_to[connected_to_size - 1] = '\0'; + } + break; + } s = e; }