From 18a4fbdf46e681e66238ebd3f895c3dc850e691e Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sat, 12 Jan 2019 11:50:34 +0100 Subject: Expose and annotate logging functions --- serd/serd.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'serd') diff --git a/serd/serd.h b/serd/serd.h index 9b3e35f6..ec5d9228 100644 --- a/serd/serd.h +++ b/serd/serd.h @@ -42,6 +42,12 @@ # define SERD_API #endif +#if defined(__GNUC__) +# define SERD_LOG_FUNC(fmt, arg1) __attribute__((format(printf, fmt, arg1))) +#else +# define SERD_LOG_FUNC(fmt, arg1) +#endif + #ifdef __cplusplus extern "C" { #endif @@ -823,6 +829,22 @@ serd_world_set_message_sink(SerdWorld* world, SerdMessageSink msg_sink, void* handle); +/// Write a message to the log +SERD_API +SerdStatus +serd_world_log(const SerdWorld* world, const SerdMessage* msg); + +/// Write a message to the log +SERD_API +SERD_LOG_FUNC(5, 6) +SerdStatus +serd_world_logf(const SerdWorld* world, + SerdStatus st, + SerdLogLevel level, + const SerdCursor* cursor, + const char* fmt, + ...); + /** @} @name Environment -- cgit v1.2.1