commit d10582f8d28e8926ae8b13fcb9c7d5f36646aace
parent 91f78b6821a591f4bd97781cd550c189562a5d05
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 8 Dec 2017 10:07:46 +0100
Add the local log_err and log_warn functions
Diffstat:
2 files changed, 65 insertions(+), 0 deletions(-)
diff --git a/src/sdis_device.c b/src/sdis_device.c
@@ -25,6 +25,21 @@
* Helper functions
******************************************************************************/
static void
+log_msg
+ (struct sdis_device* dev,
+ const enum log_type stream,
+ const char* msg,
+ va_list vargs)
+{
+ ASSERT(dev && msg);
+ if(dev->verbose) {
+ res_T res; (void)res;
+ res = logger_vprint(dev->logger, stream, msg, vargs);
+ ASSERT(res == RES_OK);
+ }
+}
+
+static void
device_release(ref_T* ref)
{
struct sdis_device* dev;
@@ -99,3 +114,28 @@ sdis_device_ref_put(struct sdis_device* dev)
return RES_OK;
}
+/*******************************************************************************
+ * Local functions
+ ******************************************************************************/
+void
+log_err(struct sdis_device* dev, const char* msg, ...)
+{
+ va_list vargs_list;
+ ASSERT(dev && msg);
+
+ va_start(vargs_list, msg);
+ log_msg(dev, LOG_ERROR, msg, vargs_list);
+ va_end(vargs_list);
+}
+
+void
+log_warn(struct sdis_device* dev, const char* msg, ...)
+{
+ va_list vargs_list;
+ ASSERT(dev && msg);
+
+ va_start(vargs_list, msg);
+ log_msg(dev, LOG_WARNING, msg, vargs_list);
+ va_end(vargs_list);
+}
+
diff --git a/src/sdis_device_c.h b/src/sdis_device_c.h
@@ -27,4 +27,29 @@ struct sdis_device {
ref_T ref;
};
+/* Conditionally log a message on the LOG_ERROR stream of the device logger,
+ * with respect to the device verbose flag */
+extern LOCAL_SYM void
+log_err
+ (struct sdis_device* dev,
+ const char* msg,
+ ...)
+#ifdef COMPILER_GCC
+ __attribute((format(printf, 2, 3)))
+#endif
+;
+
+/* Conditionally log a message on the LOG_WARNING stream of the device logger,
+ * with respect to the device verbose flag */
+extern LOCAL_SYM void
+log_warn
+ (struct sdis_device* dev,
+ const char* msg,
+ ...)
+#ifdef COMPILER_GCC
+ __attribute((format(printf, 2, 3)))
+#endif
+;
+
#endif /* SDIS_DEVICE_C_H */
+