X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdaemon%2Fcommon.c;h=b60530a18304d858c7334d8257b133b158467ef5;hb=c7d859191d8fbfc129dea8cfaf9e13e78fd6642c;hp=dd4f9b15ae39a5036cbb0b40f0b8c21624ee473a;hpb=daebbbee0ac53d39a0486aeb8c41fd358f46ed82;p=collectd.git diff --git a/src/daemon/common.c b/src/daemon/common.c index dd4f9b15..b60530a1 100644 --- a/src/daemon/common.c +++ b/src/daemon/common.c @@ -32,14 +32,11 @@ #endif #include "collectd.h" + #include "common.h" #include "plugin.h" #include "utils_cache.h" -#if HAVE_PTHREAD_H -# include -#endif - #ifdef HAVE_MATH_H # include #endif @@ -115,10 +112,9 @@ char *ssnprintf_alloc (char const *format, ...) /* {{{ */ return (strdup (static_buffer)); /* Allocate a buffer large enough to hold the string. */ - alloc_buffer = malloc (alloc_buffer_size); + alloc_buffer = calloc (1, alloc_buffer_size); if (alloc_buffer == NULL) return (NULL); - memset (alloc_buffer, 0, alloc_buffer_size); /* Print again into this new buffer. */ va_start (ap, format); @@ -144,7 +140,7 @@ char *sstrdup (const char *s) /* Do not use `strdup' here, because it's not specified in POSIX. It's * ``only'' an XSI extension. */ sz = strlen (s) + 1; - r = (char *) malloc (sizeof (char) * sz); + r = malloc (sz); if (r == NULL) { ERROR ("sstrdup: Out of memory."); @@ -276,6 +272,9 @@ ssize_t swrite (int fd, const void *buf, size_t count) ptr = (const char *) buf; nleft = count; + if (fd < 0) + return (-1); + /* checking for closed peer connection */ pfd.fd = fd; pfd.events = POLLIN | POLLHUP; @@ -334,9 +333,8 @@ int strjoin (char *buffer, size_t buffer_size, size_t avail; char *ptr; size_t sep_len; - size_t i; - if ((buffer_size < 1) || (fields_num <= 0)) + if ((buffer_size < 1) || (fields_num == 0)) return (-1); memset (buffer, 0, buffer_size); @@ -347,7 +345,7 @@ int strjoin (char *buffer, size_t buffer_size, if (sep != NULL) sep_len = strlen (sep); - for (i = 0; i < fields_num; i++) + for (size_t i = 0; i < fields_num; i++) { size_t field_len; @@ -374,31 +372,9 @@ int strjoin (char *buffer, size_t buffer_size, return ((int) strlen (buffer)); } -int strsubstitute (char *str, char c_from, char c_to) -{ - int ret; - - if (str == NULL) - return (-1); - - ret = 0; - while (*str != '\0') - { - if (*str == c_from) - { - *str = c_to; - ret++; - } - str++; - } - - return (ret); -} /* int strsubstitute */ - int escape_string (char *buffer, size_t buffer_size) { char *temp; - size_t i; size_t j; /* Check if we need to escape at all first */ @@ -409,15 +385,14 @@ int escape_string (char *buffer, size_t buffer_size) if (buffer_size < 3) return (EINVAL); - temp = (char *) malloc (buffer_size); + temp = calloc (1, buffer_size); if (temp == NULL) return (ENOMEM); - memset (temp, 0, buffer_size); temp[0] = '"'; j = 1; - for (i = 0; i < buffer_size; i++) + for (size_t i = 0; i < buffer_size; i++) { if (buffer[i] == 0) { @@ -451,9 +426,7 @@ int escape_string (char *buffer, size_t buffer_size) int strunescape (char *buf, size_t buf_len) { - size_t i; - - for (i = 0; (i < buf_len) && (buf[i] != '\0'); ++i) + for (size_t i = 0; (i < buf_len) && (buf[i] != '\0'); ++i) { if (buf[i] != '\\') continue; @@ -507,7 +480,6 @@ size_t strstripnewline (char *buffer) int escape_slashes (char *buffer, size_t buffer_size) { size_t buffer_len; - size_t i; buffer_len = strlen (buffer); @@ -529,7 +501,7 @@ int escape_slashes (char *buffer, size_t buffer_size) buffer_len--; } - for (i = 0; i < buffer_len; i++) + for (size_t i = 0; i < buffer_len; i++) { if (buffer[i] == '/') buffer[i] = '_'; @@ -540,9 +512,7 @@ int escape_slashes (char *buffer, size_t buffer_size) void replace_special (char *buffer, size_t buffer_size) { - size_t i; - - for (i = 0; i < buffer_size; i++) + for (size_t i = 0; i < buffer_size; i++) { if (buffer[i] == 0) return; @@ -616,7 +586,6 @@ int check_create_dir (const char *file_orig) int last_is_file = 1; int path_is_absolute = 0; size_t len; - int i; /* * Sanity checks first @@ -662,7 +631,7 @@ int check_create_dir (const char *file_orig) /* * For each component, do.. */ - for (i = 0; i < (fields_num - last_is_file); i++) + for (int i = 0; i < (fields_num - last_is_file); i++) { /* * Do not create directories that start with a dot. This @@ -961,7 +930,6 @@ int format_values (char *ret, size_t ret_len, /* {{{ */ { size_t offset = 0; int status; - size_t i; gauge_t *rates = NULL; assert (0 == strcmp (ds->type, vl->type)); @@ -987,7 +955,7 @@ int format_values (char *ret, size_t ret_len, /* {{{ */ BUFFER_ADD ("%.3f", CDTIME_T_TO_DOUBLE (vl->time)); - for (i = 0; i < ds->ds_num; i++) + for (size_t i = 0; i < ds->ds_num; i++) { if (ds->ds[i].type == DS_TYPE_GAUGE) BUFFER_ADD (":"GAUGE_FORMAT, vl->values[i].gauge); @@ -1541,17 +1509,15 @@ int value_to_rate (gauge_t *ret_rate, /* {{{ */ int service_name_to_port_number (const char *service_name) { struct addrinfo *ai_list; - struct addrinfo *ai_ptr; - struct addrinfo ai_hints; int status; int service_number; if (service_name == NULL) return (-1); - ai_list = NULL; - memset (&ai_hints, 0, sizeof (ai_hints)); - ai_hints.ai_family = AF_UNSPEC; + struct addrinfo ai_hints = { + .ai_family = AF_UNSPEC + }; status = getaddrinfo (/* node = */ NULL, service_name, &ai_hints, &ai_list); @@ -1563,7 +1529,7 @@ int service_name_to_port_number (const char *service_name) } service_number = -1; - for (ai_ptr = ai_list; ai_ptr != NULL; ai_ptr = ai_ptr->ai_next) + for (struct addrinfo *ai_ptr = ai_list; ai_ptr != NULL; ai_ptr = ai_ptr->ai_next) { if (ai_ptr->ai_family == AF_INET) { @@ -1654,9 +1620,7 @@ int strarray_add (char ***ret_array, size_t *ret_array_len, char const *str) /* void strarray_free (char **array, size_t array_len) /* {{{ */ { - size_t i; - - for (i = 0; i < array_len; i++) + for (size_t i = 0; i < array_len; i++) sfree (array[i]); sfree (array); } /* }}} void strarray_free */