Subject: [PATCH] add _lws_logv to make loging accessible to other wrappers.
authorNeal Horman <neal@wanlink.com>
Thu, 11 Dec 2014 00:50:28 +0000 (18:50 -0600)
committerAndy Green <andy.green@linaro.org>
Sat, 13 Dec 2014 06:18:27 +0000 (14:18 +0800)
 use _lws_logv in _lws_log

lib/libwebsockets.c
lib/libwebsockets.h

index d873306..b9be442 100644 (file)
@@ -730,22 +730,28 @@ LWS_VISIBLE void lwsl_emit_stderr(int level, const char *line)
 }
 
 
-LWS_VISIBLE void _lws_log(int filter, const char *format, ...)
+LWS_VISIBLE void _lws_logv(int filter, const char *format, va_list vl)
 {
        char buf[256];
-       va_list ap;
 
        if (!(log_level & filter))
                return;
 
-       va_start(ap, format);
-       vsnprintf(buf, sizeof(buf), format, ap);
+       vsnprintf(buf, sizeof(buf), format, vl);
        buf[sizeof(buf) - 1] = '\0';
-       va_end(ap);
 
        lwsl_emit(filter, buf);
 }
 
+LWS_VISIBLE void _lws_log(int filter, const char *format, ...)
+{
+       va_list ap;
+
+       va_start(ap, format);
+       _lws_logv(filter, format, ap);
+       va_end(ap);
+}
+
 /**
  * lws_set_log_level() - Set the logging bitfield
  * @level:     OR together the LLL_ debug contexts you want output from
index edea1a2..8ede31b 100644 (file)
@@ -114,6 +114,7 @@ enum lws_log_levels {
 };
 
 LWS_VISIBLE LWS_EXTERN void _lws_log(int filter, const char *format, ...);
+LWS_VISIBLE LWS_EXTERN void _lws_logv(int filter, const char *format, va_list vl);
 
 /* notice, warn and log are always compiled in */
 #define lwsl_notice(...) _lws_log(LLL_NOTICE, __VA_ARGS__)