commit a70d7d2a0b5c62df4951a037d96da83292dcec51
parent d389f704bdcfbd779855c96fae0ca54d001096b5
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 4 Jun 2018 09:37:06 +0200
Add the htrdr_log function
Diffstat:
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/src/htrdr.c b/src/htrdr.c
@@ -40,6 +40,18 @@
* Helper functions
******************************************************************************/
static void
+print_out(const char* msg, void* ctx)
+{
+ ASSERT(msg);
+ (void)ctx;
+#ifdef OS_UNIX
+ fprintf(stderr, "\x1b[1m\x1b[32m>\x1b[0m %s", msg);
+#else
+ fprintf(stderr, "> %s", msg);
+#endif
+}
+
+static void
print_err(const char* msg, void* ctx)
{
ASSERT(msg);
@@ -160,9 +172,12 @@ htrdr_init
res_T res = RES_OK;
ASSERT(args && htrdr);
+ memset(htrdr, 0, sizeof(*htrdr));
+
htrdr->allocator = mem_allocator ? mem_allocator : &mem_default_allocator;
logger_init(htrdr->allocator, &htrdr->logger);
+ logger_set_stream(&htrdr->logger, LOG_OUTPUT, print_out, NULL);
logger_set_stream(&htrdr->logger, LOG_ERROR, print_err, NULL);
logger_set_stream(&htrdr->logger, LOG_WARNING, print_warn, NULL);
@@ -241,7 +256,7 @@ htrdr_run(struct htrdr* htrdr)
if(res != RES_OK) goto error;
time_sub(&t0, time_current(&t1), &t0);
time_dump(&t0, TIME_ALL, NULL, buf, sizeof(buf));
- fprintf(stderr, "Elapsed time: %s\n", buf);
+ htrdr_log(htrdr, "Elapsed time: %s\n", buf);
dump_buffer(htrdr);
}
@@ -252,6 +267,16 @@ error:
}
void
+htrdr_log(struct htrdr* htrdr, const char* msg, ...)
+{
+ va_list vargs_list;
+ ASSERT(htrdr && msg);
+ va_start(vargs_list, msg);
+ log_msg(htrdr, LOG_OUTPUT, msg, vargs_list);
+ va_end(vargs_list);
+}
+
+void
htrdr_log_err(struct htrdr* htrdr, const char* msg, ...)
{
va_list vargs_list;
diff --git a/src/htrdr.h b/src/htrdr.h
@@ -61,6 +61,16 @@ htrdr_run
(struct htrdr* htrdr);
extern LOCAL_SYM void
+htrdr_log
+ (struct htrdr* htrdr,
+ const char* msg,
+ ...)
+#ifdef COMPILER_GCC
+ __attribute((format(printf, 2, 3)))
+#endif
+ ;
+
+extern LOCAL_SYM void
htrdr_log_err
(struct htrdr* htrdr,
const char* msg,