[PATCH 5/8] site logging: introduce vslog

Ian Jackson ijackson at chiark.greenend.org.uk
Wed May 14 21:00:25 BST 2014


No functional change.

Signed-off-by: Ian Jackson <ijackson at chiark.greenend.org.uk>
---
 site.c |   19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/site.c b/site.c
index df3a5e1..146d3c8 100644
--- a/site.c
+++ b/site.c
@@ -319,23 +319,30 @@ static uint32_t event_log_priority(struct site *st, uint32_t event)
     }
 }
 
-static void slog(struct site *st, uint32_t event, cstring_t msg, ...)
-FORMAT(printf,3,4);
-static void slog(struct site *st, uint32_t event, cstring_t msg, ...)
+static void vslog(struct site *st, uint32_t event, cstring_t msg, va_list ap)
+FORMAT(printf,3,0);
+static void vslog(struct site *st, uint32_t event, cstring_t msg, va_list ap)
 {
-    va_list ap;
     uint32_t class;
 
     class=event_log_priority(st, event);
     if (class) {
-	va_start(ap,msg);
 	slilog_part(st->log,class,"%s: ",st->tunname);
 	vslilog_part(st->log,class,msg,ap);
 	slilog_part(st->log,class,"\n");
-	va_end(ap);
     }
 }
 
+static void slog(struct site *st, uint32_t event, cstring_t msg, ...)
+FORMAT(printf,3,4);
+static void slog(struct site *st, uint32_t event, cstring_t msg, ...)
+{
+    va_list ap;
+    va_start(ap,msg);
+    vslog(st,event,msg,ap);
+    va_end(ap);
+}
+
 static void set_link_quality(struct site *st);
 static void delete_keys(struct site *st, cstring_t reason, uint32_t loglevel);
 static void delete_one_key(struct site *st, struct data_key *key,
-- 
1.7.10.4




More information about the sgo-software-discuss mailing list