aboutsummaryrefslogtreecommitdiffstats
path: root/src/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/log.c')
-rw-r--r--src/log.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/src/log.c b/src/log.c
index a59b331f1..2e6eb3575 100644
--- a/src/log.c
+++ b/src/log.c
@@ -93,22 +93,28 @@ static void do_log(FILE *fp, const char *fmt, va_list args)
void flushWarningLog(void)
{
- char *s;
+ char *s = warningBuffer;
DEBUG("flushing warning messages\n");
- if (warningBuffer == NULL)
- return;
-
- s = strtok(warningBuffer, "\n");
- while (s != NULL) {
- fprintf(stderr, "%s\n", s);
- s = strtok(NULL, "\n");
+ if (warningBuffer != NULL)
+ {
+ while (s != NULL) {
+ char * next = strchr(s, '\n');
+ if (next != NULL) {
+ *next = '\0';
+ next++;
+ }
+ fprintf(stderr, "%s\n", s);
+ s = next;
+ }
+
+ warningBuffer = NULL;
}
- free(warningBuffer);
- warningBuffer = NULL;
warningFlushed = 1;
+
+ DEBUG("done flushing warning messages\n");
}
void initLog(const int verbose)