projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'collectd-5.7' into collectd-5.8
[collectd.git]
/
src
/
daemon
/
common.c
diff --git
a/src/daemon/common.c
b/src/daemon/common.c
index
6c856a6
..
eb9f590
100644
(file)
--- a/
src/daemon/common.c
+++ b/
src/daemon/common.c
@@
-60,6
+60,10
@@
#include <sys/capability.h>
#endif
#include <sys/capability.h>
#endif
+#if HAVE_KSTAT_H
+#include <kstat.h>
+#endif
+
#ifdef HAVE_LIBKSTAT
extern kstat_ctl_t *kc;
#endif
#ifdef HAVE_LIBKSTAT
extern kstat_ctl_t *kc;
#endif
@@
-212,7
+216,7
@@
void sfree (void **ptr)
}
#endif
}
#endif
-
ssize_
t sread(int fd, void *buf, size_t count) {
+
in
t sread(int fd, void *buf, size_t count) {
char *ptr;
size_t nleft;
ssize_t status;
char *ptr;
size_t nleft;
ssize_t status;
@@
-230,10
+234,7
@@
ssize_t sread(int fd, void *buf, size_t count) {
return status;
if (status == 0) {
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;
}
return -1;
}
@@
-246,7
+247,7
@@
ssize_t sread(int fd, void *buf, size_t count) {
return 0;
}
return 0;
}
-
ssize_
t swrite(int fd, const void *buf, size_t count) {
+
in
t swrite(int fd, const void *buf, size_t count) {
const char *ptr;
size_t nleft;
ssize_t status;
const char *ptr;
size_t nleft;
ssize_t status;
@@
-337,6
+338,9
@@
int strjoin(char *buffer, size_t buffer_size, char **fields, size_t fields_num,
buffer_req += sep_len;
buffer_req += field_len;
buffer_req += sep_len;
buffer_req += field_len;
+ if (buffer_size == 0)
+ continue;
+
if ((i != 0) && (sep_len > 0)) {
if (sep_len >= avail) {
/* prevent subsequent iterations from writing to the
if ((i != 0) && (sep_len > 0)) {
if (sep_len >= avail) {
/* prevent subsequent iterations from writing to the