X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fzookeeper.c;h=84174853d24c62bd8ba22aaa17bc28e5f68aaa3d;hb=4d370741101aeb037ae52f3529a4a0869e0dc08a;hp=abdbf20f3361d257165d4697346e98213caeca11;hpb=6ca14739ed8cc76de14bd9ac4d549ba2c7c72a93;p=collectd.git diff --git a/src/zookeeper.c b/src/zookeeper.c index abdbf20f..84174853 100644 --- a/src/zookeeper.c +++ b/src/zookeeper.c @@ -25,6 +25,7 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" @@ -105,18 +106,18 @@ static int zookeeper_connect (void) { int sk = -1; int status; - struct addrinfo ai_hints; - struct addrinfo *ai; struct addrinfo *ai_list; - char *host; - char *port; - - memset ((void *) &ai_hints, '\0', sizeof (ai_hints)); - ai_hints.ai_family = AF_UNSPEC; - ai_hints.ai_socktype = SOCK_STREAM; + const char *host; + const char *port; host = (zk_host != NULL) ? zk_host : ZOOKEEPER_DEF_HOST; port = (zk_port != NULL) ? zk_port : ZOOKEEPER_DEF_PORT; + + struct addrinfo ai_hints = { + .ai_family = AF_UNSPEC, + .ai_socktype = SOCK_STREAM + }; + status = getaddrinfo (host, port, &ai_hints, &ai_list); if (status != 0) { @@ -128,7 +129,7 @@ static int zookeeper_connect (void) return (-1); } - for (ai = ai_list; ai != NULL; ai = ai->ai_next) + for (struct addrinfo *ai = ai_list; ai != NULL; ai = ai->ai_next) { sk = socket (ai->ai_family, SOCK_STREAM, 0); if (sk < 0) @@ -159,8 +160,7 @@ static int zookeeper_connect (void) static int zookeeper_query (char *buffer, size_t buffer_size) { - int sk = -1; - int status; + int sk, status; size_t buffer_fill; sk = zookeeper_connect(); @@ -198,11 +198,6 @@ static int zookeeper_query (char *buffer, size_t buffer_size) } buffer_fill += (size_t) status; - if (status == 0) - { - /* done reading from the socket */ - break; - } } /* while (recv) */ status = 0;