src/lib/log.c
changeset 16 74fb62022fb3
parent 6 d2036d7799fd
child 24 82cfdb6680d1
--- 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);