X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fdaemon%2Fcommon.c;h=d5322ed8dbb855495cf185ad4903c0ac3d398fe6;hp=d9c83483fd933be389bc841df1801d582a9832c1;hb=7111bb6df7628edce3a8e538b386fbe27633a191;hpb=662c44a84ae3daecd4ffdea940fffce35a41b52a diff --git a/src/daemon/common.c b/src/daemon/common.c index d9c83483..d5322ed8 100644 --- a/src/daemon/common.c +++ b/src/daemon/common.c @@ -60,6 +60,10 @@ #include #endif +#if HAVE_KSTAT_H +#include +#endif + #ifdef HAVE_LIBKSTAT extern kstat_ctl_t *kc; #endif @@ -84,18 +88,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 +183,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 +216,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 +234,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 +247,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 +270,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; } } @@ -675,7 +665,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 +872,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; \