Issue #62, use va_copy() in loops

This commit is contained in:
Andrew Bettison 2013-06-06 14:36:13 +09:30
parent 43af757262
commit a1a296f5eb

10
log.c
View File

@ -394,7 +394,10 @@ static void _log_iterator_vprintf_nl(_log_iterator *it, int level, struct __sour
_log_iterator_rewind(it);
while (_log_iterator_next(it, level)) {
_log_prefix_whence(it, whence);
vxprintf(it->xpf, fmt, ap);
va_list ap1;
va_copy(ap1, ap);
vxprintf(it->xpf, fmt, ap1);
va_end(ap1);
}
}
@ -697,7 +700,10 @@ void vlogMessage(int level, struct __sourceloc whence, const char *fmt, va_list
_rotate_log_file(&it);
while (_log_iterator_next(&it, level)) {
_log_prefix_whence(&it, whence);
vxprintf(it.xpf, fmt, ap);
va_list ap1;
va_copy(ap1, ap);
vxprintf(it.xpf, fmt, ap1);
va_end(ap1);
}
}
}