diff options
-rw-r--r-- | src/core/rawlog.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/core/rawlog.c b/src/core/rawlog.c index e66f20dd..2fa6b850 100644 --- a/src/core/rawlog.c +++ b/src/core/rawlog.c @@ -102,14 +102,15 @@ void rawlog_redirect(RAWLOG_REC *rawlog, const char *str) static void rawlog_dump(RAWLOG_REC *rawlog, int f) { GSList *tmp; - ssize_t ret = 1; + ssize_t ret = 0; - for (tmp = rawlog->lines; ret && tmp != NULL; tmp = tmp->next) { + for (tmp = rawlog->lines; ret != -1 && tmp != NULL; tmp = tmp->next) { ret = write(f, tmp->data, strlen((char *) tmp->data)); - ret &= write(f, "\n", 1); - } + if (ret != -1) + ret = write(f, "\n", 1); + } - if (ret <= 0) { + if (ret == -1) { g_warning("rawlog write() failed: %s", strerror(errno)); } } |