diff options
author | Tomasz Kramkowski <tk@the-tk.com> | 2020-09-09 18:13:40 +0100 |
---|---|---|
committer | Tomasz Kramkowski <tk@the-tk.com> | 2020-09-09 18:13:40 +0100 |
commit | 22ea2f04442442f9728825ad7888ca9c5250407e (patch) | |
tree | 84d91bb50599b538b3ead72337cbc39327e4a6b8 /trace.c | |
parent | 2e1ff80dab0cee0f197dccc9c5dd2f3b9afdb168 (diff) | |
download | pack-22ea2f04442442f9728825ad7888ca9c5250407e.tar.gz pack-22ea2f04442442f9728825ad7888ca9c5250407e.tar.xz pack-22ea2f04442442f9728825ad7888ca9c5250407e.zip |
Add tracing functions for debugging
Diffstat (limited to 'trace.c')
-rw-r--r-- | trace.c | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -0,0 +1,41 @@ +#include <stdarg.h> +#include <stdio.h> + +#include "pack.h" +#include "trace.h" + +enum pack_trace pack_trace = PACK_TRACE_OFF; + +void trace(enum pack_trace level, const char *fmt, va_list va) +{ + char *type; + + if (level > pack_trace) return; + + switch (level) { + case PACK_TRACE_CALL: type = "CALL"; break; + case PACK_TRACE_DEBUG: type = "DEBUG"; break; + } + + fprintf(stderr, "PACK_TRACE_%s: ", type); + vfprintf(stderr, fmt, va); + fputc('\n', stderr); +} + +void tr_call(const char *fmt, ...) +{ + va_list va; + + va_start(va, fmt); + trace(PACK_TRACE_CALL, fmt, va); + va_end(va); +} + +void tr_debug(const char *fmt, ...) +{ + va_list va; + + va_start(va, fmt); + trace(PACK_TRACE_DEBUG, fmt, va); + va_end(va); +} |