aboutsummaryrefslogtreecommitdiffstats
path: root/src/verbose.c
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2017-08-29 17:58:08 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2017-08-29 18:02:15 +0200
commit170aef20bc3a59d5139c2eff8794d9ba4c83a2e5 (patch)
tree8354a7496e390e03e6fbdd0e6e663c4228326cb7 /src/verbose.c
parent6d8d9dc5aad148a74bcdf8965bee9f7058a08166 (diff)
hooking: Add hook at global scope
Actually the global scope only allows to trace log messages. Change-Id: Ib73edf2e3168311b2ad694d857e6647e34884313 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'src/verbose.c')
-rw-r--r--src/verbose.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/verbose.c b/src/verbose.c
index 2d60dfca..e0e38248 100644
--- a/src/verbose.c
+++ b/src/verbose.c
@@ -132,12 +132,16 @@ void verbose(int loglevel, const char *file, int line, const char *function, con
void vverbose(int loglevel, const char *file, int line, const char *function, const char *fmt, va_list args)
{
- if (verbose_observer) {
+ void (*observer)(int loglevel, const char *file, int line, const char *function, const char *fmt, va_list args) = verbose_observer;
+
+ if (!observer)
+ _vverbose_(loglevel, file, line, function, fmt, args);
+ else {
va_list ap;
va_copy(ap, args);
- verbose_observer(loglevel, file, line, function, fmt, ap);
+ _vverbose_(loglevel, file, line, function, fmt, args);
+ observer(loglevel, file, line, function, fmt, ap);
va_end(ap);
}
- _vverbose_(loglevel, file, line, function, fmt, args);
}