Don't setup output buffers we are not going to use
[fio.git] / log.c
diff --git a/log.c b/log.c
index c4a3b52075367919b191219f84d14a9b46936338..e3ca29cd2c388f1c861e1663599f39acebad650c 100644 (file)
--- a/log.c
+++ b/log.c
@@ -6,7 +6,7 @@
 
 #include "fio.h"
 
-int log_valist(const char *str, va_list args)
+size_t log_valist(const char *str, va_list args)
 {
        char buffer[1024];
        size_t len;
@@ -24,7 +24,7 @@ int log_valist(const char *str, va_list args)
        return len;
 }
 
-int log_local_buf(const char *buf, size_t len)
+size_t log_local_buf(const char *buf, size_t len)
 {
        if (log_syslog)
                syslog(LOG_INFO, "%s", buf);
@@ -34,7 +34,7 @@ int log_local_buf(const char *buf, size_t len)
        return len;
 }
 
-int log_info(const char *format, ...)
+size_t log_info(const char *format, ...)
 {
        char buffer[1024];
        va_list args;
@@ -54,6 +54,20 @@ int log_info(const char *format, ...)
                return fwrite(buffer, len, 1, f_out);
 }
 
+size_t __log_buf(struct buf_output *buf, const char *format, ...)
+{
+       char buffer[1024];
+       va_list args;
+       size_t len;
+
+       va_start(args, format);
+       len = vsnprintf(buffer, sizeof(buffer), format, args);
+       va_end(args);
+       len = min(len, sizeof(buffer) - 1);
+
+       return buf_output_add(buf, buffer, len);
+}
+
 int log_info_flush(void)
 {
        if (is_backend || log_syslog)
@@ -62,7 +76,7 @@ int log_info_flush(void)
        return fflush(f_out);
 }
 
-int log_err(const char *format, ...)
+size_t log_err(const char *format, ...)
 {
        char buffer[1024];
        va_list args;