diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2021-07-22 16:51:11 -0400 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2021-07-22 16:51:11 -0400 |
commit | c87e4760095ddabab28d90b43d0d30433691e451 (patch) | |
tree | 1521e30674e41f72bde3e34e282300f7bf978630 | |
parent | 5c5c19a6b9165f09d8c81bc07915ab8bb211e6b7 (diff) | |
parent | fe40de40d864cc7b458a923ac6403d9f62ad4795 (diff) | |
download | libgit2-c87e4760095ddabab28d90b43d0d30433691e451.tar.gz |
Merge branch 'pr/5948' into main
-rw-r--r-- | src/trace.h | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/trace.h b/src/trace.h index e15118ef5..a233aa225 100644 --- a/src/trace.h +++ b/src/trace.h @@ -23,28 +23,32 @@ extern struct git_trace_data git_trace__data; GIT_INLINE(void) git_trace__write_fmt( git_trace_level_t level, - const char *fmt, ...) + const char *fmt, + va_list ap) { git_trace_cb callback = git_trace__data.callback; git_buf message = GIT_BUF_INIT; - va_list ap; - va_start(ap, fmt); git_buf_vprintf(&message, fmt, ap); - va_end(ap); callback(level, git_buf_cstr(&message)); git_buf_dispose(&message); } -#define git_trace_level() (git_trace__data.level) -#define git_trace(l, ...) { \ - if (git_trace__data.level >= l && \ - git_trace__data.callback != NULL) { \ - git_trace__write_fmt(l, __VA_ARGS__); \ - } \ - } +#define git_trace_level() (git_trace__data.level) + +GIT_INLINE(void) git_trace(git_trace_level_t level, const char *fmt, ...) +{ + if (git_trace__data.level >= level && + git_trace__data.callback != NULL) { + va_list ap; + + va_start(ap, fmt); + git_trace__write_fmt(level, fmt, ap); + va_end(ap); + } +} #else @@ -56,8 +60,8 @@ GIT_INLINE(void) git_trace__null( GIT_UNUSED(fmt); } -#define git_trace_level() ((git_trace_level_t)0) -#define git_trace git_trace__null +#define git_trace_level() ((git_trace_level_t)0) +#define git_trace git_trace__null #endif |