X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fdaemon%2Fcommon.c;h=bf833ee8188864632d79fecd8e64f0fa4ecdf388;hp=d9c83483fd933be389bc841df1801d582a9832c1;hb=77ca1a45bab2f6adf9301723d0db68e5813a6d98;hpb=c144ae4659e129a929afb67706a54604220fef43 diff --git a/src/daemon/common.c b/src/daemon/common.c index d9c83483..bf833ee8 100644 --- a/src/daemon/common.c +++ b/src/daemon/common.c @@ -84,18 +84,6 @@ char *sstrncpy(char *dest, const char *src, size_t n) { return dest; } /* char *sstrncpy */ -int ssnprintf(char *dest, size_t n, const char *format, ...) { - int ret = 0; - va_list ap; - - va_start(ap, format); - ret = vsnprintf(dest, n, format, ap); - dest[n - 1] = '\0'; - va_end(ap); - - return ret; -} /* int ssnprintf */ - char *ssnprintf_alloc(char const *format, ...) /* {{{ */ { char static_buffer[1024] = ""; @@ -191,9 +179,9 @@ char *sstrerror(int errnum, char *buf, size_t buflen) { #else if (strerror_r(errnum, buf, buflen) != 0) { - ssnprintf(buf, buflen, "Error #%i; " - "Additionally, strerror_r failed.", - errnum); + snprintf(buf, buflen, "Error #%i; " + "Additionally, strerror_r failed.", + errnum); } #endif /* STRERROR_R_CHAR_P */ @@ -224,7 +212,7 @@ void sfree (void **ptr) } #endif -ssize_t sread(int fd, void *buf, size_t count) { +int sread(int fd, void *buf, size_t count) { char *ptr; size_t nleft; ssize_t status; @@ -242,10 +230,7 @@ ssize_t sread(int fd, void *buf, size_t count) { return status; if (status == 0) { - DEBUG("Received EOF from fd %i. " - "Closing fd and returning error.", - fd); - close(fd); + DEBUG("Received EOF from fd %i. ", fd); return -1; } @@ -258,7 +243,7 @@ ssize_t sread(int fd, void *buf, size_t count) { return 0; } -ssize_t swrite(int fd, const void *buf, size_t count) { +int swrite(int fd, const void *buf, size_t count) { const char *ptr; size_t nleft; ssize_t status; @@ -281,7 +266,8 @@ ssize_t swrite(int fd, const void *buf, size_t count) { if (recv(fd, buffer, sizeof(buffer), MSG_PEEK | MSG_DONTWAIT) == 0) { /* if recv returns zero (even though poll() said there is data to be * read), that means the connection has been closed */ - return errno ? errno : -1; + errno = ECONNRESET; + return -1; } } @@ -643,14 +629,10 @@ int check_create_dir(const char *file_orig) { if (EEXIST == errno) continue; - char errbuf[1024]; - ERROR("check_create_dir: mkdir (%s): %s", dir, - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("check_create_dir: mkdir (%s): %s", dir, STRERRNO); return -1; } else { - char errbuf[1024]; - ERROR("check_create_dir: stat (%s): %s", dir, - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("check_create_dir: stat (%s): %s", dir, STRERRNO); return -1; } } else if (!S_ISDIR(statbuf.st_mode)) { @@ -675,7 +657,7 @@ int get_kstat(kstat_t **ksp_ptr, char *module, int instance, char *name) { if (kc == NULL) return -1; - ssnprintf(ident, sizeof(ident), "%s,%i,%s", module, instance, name); + snprintf(ident, sizeof(ident), "%s,%i,%s", module, instance, name); *ksp_ptr = kstat_lookup(kc, module, instance, name); if (*ksp_ptr == NULL) { @@ -882,7 +864,7 @@ int format_values(char *ret, size_t ret_len, /* {{{ */ #define BUFFER_ADD(...) \ do { \ - status = ssnprintf(ret + offset, ret_len - offset, __VA_ARGS__); \ + status = snprintf(ret + offset, ret_len - offset, __VA_ARGS__); \ if (status < 1) { \ sfree(rates); \ return -1; \ @@ -907,7 +889,7 @@ int format_values(char *ret, size_t ret_len, /* {{{ */ } BUFFER_ADD(":" GAUGE_FORMAT, rates[i]); } else if (ds->ds[i].type == DS_TYPE_COUNTER) - BUFFER_ADD(":%llu", vl->values[i].counter); + BUFFER_ADD(":%" PRIu64, (uint64_t)vl->values[i].counter); else if (ds->ds[i].type == DS_TYPE_DERIVE) BUFFER_ADD(":%" PRIi64, vl->values[i].derive); else if (ds->ds[i].type == DS_TYPE_ABSOLUTE) @@ -1224,9 +1206,7 @@ int walk_directory(const char *dir, dirwalk_callback_f callback, failure = 0; if ((dh = opendir(dir)) == NULL) { - char errbuf[1024]; - ERROR("walk_directory: Cannot open '%s': %s", dir, - sstrerror(errno, errbuf, sizeof(errbuf))); + ERROR("walk_directory: Cannot open '%s': %s", dir, STRERRNO); return -1; }