Add a log_msg_va function

This is useful for when we use libraries which want us to provide them with
a logging callback.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Hans de Goede 2014-06-10 15:08:03 +02:00 committed by Peter Hutterer
parent 96445bc243
commit 4ddd19d6bd
2 changed files with 16 additions and 5 deletions

View file

@ -97,6 +97,10 @@ typedef void (*libinput_source_dispatch_t)(void *data);
void
log_msg(enum libinput_log_priority priority, const char *format, ...);
void
log_msg_va(enum libinput_log_priority priority,
const char *format,
va_list args);
int
libinput_init(struct libinput *libinput,

View file

@ -110,16 +110,23 @@ static struct log_data log_data = {
.user_data = NULL,
};
void
log_msg_va(enum libinput_log_priority priority,
const char *format,
va_list args)
{
if (log_data.handler && log_data.priority <= priority)
log_data.handler(priority, log_data.user_data, format, args);
}
void
log_msg(enum libinput_log_priority priority, const char *format, ...)
{
va_list args;
if (log_data.handler && log_data.priority <= priority) {
va_start(args, format);
log_data.handler(priority, log_data.user_data, format, args);
va_end(args);
}
va_start(args, format);
log_msg_va(priority, format, args);
va_end(args);
}
LIBINPUT_EXPORT void