X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_client.c;h=51b2eb8af2bb1c1407c6cbe5c665c0d7e3c94f46;hp=21139f0ba3be7b772fc00001239d841fb136fa0c;hb=765772ba1d71e8581f9e65c8c3579997bba5890e;hpb=96b0f4aace0deef034a792a08dc2d426cd2b61a4 diff --git a/src/rrd_client.c b/src/rrd_client.c index 21139f0..51b2eb8 100644 --- a/src/rrd_client.c +++ b/src/rrd_client.c @@ -304,7 +304,7 @@ static int buffer_add_string (const char *str, /* {{{ */ static int buffer_add_value (const char *value, /* {{{ */ char **buffer_ret, size_t *buffer_size_ret) { - char temp[4096]; + char temp[RRD_CMD_MAX]; if (strncmp (value, "N:", 2) == 0) snprintf (temp, sizeof (temp), "%lu:%s", @@ -319,7 +319,7 @@ static int buffer_add_value (const char *value, /* {{{ */ static int buffer_add_ulong (const unsigned long value, /* {{{ */ char **buffer_ret, size_t *buffer_size_ret) { - char temp[4096]; + char temp[RRD_CMD_MAX]; snprintf (temp, sizeof (temp), "%lu", value); temp[sizeof (temp) - 1] = 0; @@ -372,7 +372,7 @@ static int response_read (rrdc_response_t **ret_response) /* {{{ */ rrdc_response_t *ret = NULL; int status = 0; - char buffer[4096]; + char buffer[RRD_CMD_MAX]; char *buffer_ptr; size_t i; @@ -485,13 +485,14 @@ int rrdc_is_connected(const char *daemon_addr) /* {{{ */ return 0; else if (daemon_addr == NULL) { + char *addr = getenv(ENV_RRDCACHED_ADDRESS); /* here we have to handle the case i.e. * UPDATE --daemon ...; UPDATEV (no --daemon) ... * In other words: we have a cached connection, * but it is not specified in the current command. * Daemon is only implied in this case if set in ENV */ - if (getenv(ENV_RRDCACHED_ADDRESS) != NULL) + if (addr != NULL && ! strcmp(addr,"")) return 1; else return 0; @@ -643,6 +644,8 @@ static int rrdc_connect_network (const char *addr_orig) /* {{{ */ break; } /* for (ai_ptr) */ + freeaddrinfo(ai_res); + return (status); } /* }}} int rrdc_connect_network */ @@ -650,11 +653,14 @@ int rrdc_connect (const char *addr) /* {{{ */ { int status = 0; - if (addr == NULL) + if (addr == NULL) { addr = getenv (ENV_RRDCACHED_ADDRESS); + } - if (addr == NULL) + if (addr == NULL || ! strcmp(addr,"")) { + addr = NULL; return 0; + } pthread_mutex_lock(&lock); @@ -711,7 +717,7 @@ int rrdc_disconnect (void) /* {{{ */ int rrdc_update (const char *filename, int values_num, /* {{{ */ const char * const *values) { - char buffer[4096]; + char buffer[RRD_CMD_MAX]; char *buffer_ptr; size_t buffer_free; size_t buffer_size; @@ -773,7 +779,7 @@ int rrdc_update (const char *filename, int values_num, /* {{{ */ int rrdc_flush (const char *filename) /* {{{ */ { - char buffer[4096]; + char buffer[RRD_CMD_MAX]; char *buffer_ptr; size_t buffer_free; size_t buffer_size; @@ -827,7 +833,7 @@ int rrdc_flush (const char *filename) /* {{{ */ rrd_info_t * rrdc_info (const char *filename) /* {{{ */ { - char buffer[4096]; + char buffer[RRD_CMD_MAX]; char *buffer_ptr; size_t buffer_free; size_t buffer_size; @@ -928,7 +934,7 @@ rrd_info_t * rrdc_info (const char *filename) /* {{{ */ time_t rrdc_last (const char *filename) /* {{{ */ { - char buffer[4096]; + char buffer[RRD_CMD_MAX]; char *buffer_ptr; size_t buffer_free; size_t buffer_size; @@ -989,7 +995,7 @@ time_t rrdc_last (const char *filename) /* {{{ */ time_t rrdc_first (const char *filename, int rraindex) /* {{{ */ { - char buffer[4096]; + char buffer[RRD_CMD_MAX]; char *buffer_ptr; size_t buffer_free; size_t buffer_size; @@ -1062,7 +1068,7 @@ int rrdc_create (const char *filename, /* {{{ */ int argc, const char **argv) { - char buffer[4096]; + char buffer[RRD_CMD_MAX]; char *buffer_ptr; size_t buffer_free; size_t buffer_size; @@ -1147,7 +1153,7 @@ int rrdc_fetch (const char *filename, /* {{{ */ char ***ret_ds_names, rrd_value_t **ret_data) { - char buffer[4096]; + char buffer[RRD_CMD_MAX]; char *buffer_ptr; size_t buffer_free; size_t buffer_size;