diff -r a8d183e79ed9 -r 74fb62022fb3 src/lib/log.c --- a/src/lib/log.c Wed Oct 08 22:05:13 2008 +0300 +++ b/src/lib/log.c Thu Oct 09 00:33:37 2008 +0300 @@ -6,33 +6,34 @@ #include "log.h" -static void _generic_err_vargs (int use_stderr, const char *func, int perr, const char *fmt, va_list va) { - FILE *stream = use_stderr ? stderr : stdout; +static void _generic_err_vargs (int flags, const char *func, int err, const char *fmt, va_list va) { + FILE *stream = flags & LOG_DISPLAY_STDERR ? stderr : stdout; if (func) fprintf(stream, "%s: ", func); vfprintf(stream, fmt, va); - if (perr) - fprintf(stream, ": %s\n", strerror(perr > 0 ? errno : -perr)); - - fprintf(stream, "\n"); + if (flags & LOG_DISPLAY_PERR) + fprintf(stream, ": %s\n", strerror(err == 0 ? errno : -err)); + + if (!(flags & LOG_DISPLAY_NONL)) + fprintf(stream, "\n"); } -void _generic_err (int use_stderr, const char *func, int perr, const char *fmt, ...) { +void _generic_err (int flags, const char *func, int err, const char *fmt, ...) { va_list va; va_start(va, fmt); - _generic_err_vargs(use_stderr, func, perr, fmt, va); + _generic_err_vargs(flags, func, err, fmt, va); va_end(va); } -void _generic_err_exit (int use_stderr, const char *func, int perr, const char *fmt, ...) { +void _generic_err_exit (int flags, const char *func, int err, const char *fmt, ...) { va_list va; va_start(va, fmt); - _generic_err_vargs(use_stderr, func, perr, fmt, va); + _generic_err_vargs(flags, func, err, fmt, va); va_end(va); exit(EXIT_FAILURE);