diff --git a/include/libweston/weston-log.h b/include/libweston/weston-log.h index f896d224d..50afbeb06 100644 --- a/include/libweston/weston-log.h +++ b/include/libweston/weston-log.h @@ -79,11 +79,11 @@ void weston_log_scope_write(struct weston_log_scope *scope, const char *data, size_t len); -void +int weston_log_scope_vprintf(struct weston_log_scope *scope, const char *fmt, va_list ap); -void +int weston_log_scope_printf(struct weston_log_scope *scope, const char *fmt, ...) __attribute__ ((format (printf, 2, 3))); diff --git a/libweston/weston-log.c b/libweston/weston-log.c index 30018bf57..3584462b0 100644 --- a/libweston/weston-log.c +++ b/libweston/weston-log.c @@ -753,16 +753,16 @@ weston_log_scope_write(struct weston_log_scope *scope, * * \memberof weston_log_scope */ -WL_EXPORT void +WL_EXPORT int weston_log_scope_vprintf(struct weston_log_scope *scope, const char *fmt, va_list ap) { static const char oom[] = "Out of memory"; char *str; - int len; + int len = 0; if (!weston_log_scope_is_enabled(scope)) - return; + return len; len = vasprintf(&str, fmt, ap); if (len >= 0) { @@ -771,6 +771,8 @@ weston_log_scope_vprintf(struct weston_log_scope *scope, } else { weston_log_scope_write(scope, oom, sizeof oom - 1); } + + return len; } /** Write a formatted string for a scope @@ -786,15 +788,18 @@ weston_log_scope_vprintf(struct weston_log_scope *scope, * * \memberof weston_log_scope */ -WL_EXPORT void +WL_EXPORT int weston_log_scope_printf(struct weston_log_scope *scope, const char *fmt, ...) { va_list ap; + int len; va_start(ap, fmt); - weston_log_scope_vprintf(scope, fmt, ap); + len = weston_log_scope_vprintf(scope, fmt, ap); va_end(ap); + + return len; } /** Write a formatted string for a subscription