chiark / gitweb /
yaid.c (logmsg): Split out a version which takes a captured argument list.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 5 Feb 2016 00:30:46 +0000 (00:30 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 18 Feb 2016 15:54:52 +0000 (15:54 +0000)
yaid.c

diff --git a/yaid.c b/yaid.c
index 13e1208312a50ca4fafc8e7e25954f7cebb4d086..d2244b61b218fda4e5f1a63e33ae5a699e663bdd 100644 (file)
--- a/yaid.c
+++ b/yaid.c
@@ -222,26 +222,21 @@ static void init_writebuf(struct writebuf *wb,
 
 /*----- General utilities -------------------------------------------------*/
 
-/* Format and log MSG somewhere sensible, at the syslog(3) priority PRIO.
- * Prefix it with a description of the query Q, if non-null.
- */
-void logmsg(const struct query *q, int prio, const char *msg, ...)
+static void vlogmsg(const struct query *q, int prio,
+                   const char *msg, va_list *ap)
 {
-  va_list ap;
   dstr d = DSTR_INIT;
   time_t t;
   struct tm *tm;
   char buf[64];
 
-  va_start(ap, msg);
   if (q) {
     dputsock(&d, q->ao, &q->s[L]);
     dstr_puts(&d, " <-> ");
     dputsock(&d, q->ao, &q->s[R]);
     dstr_puts(&d, ": ");
   }
-  dstr_vputf(&d, msg, &ap);
-  va_end(ap);
+  dstr_vputf(&d, msg, ap);
 
   if (!(flags & F_RUNNING))
     moan("%s", d.buf);
@@ -257,6 +252,18 @@ void logmsg(const struct query *q, int prio, const char *msg, ...)
   dstr_destroy(&d);
 }
 
+/* Format and log MSG somewhere sensible, at the syslog(3) priority PRIO.
+ * Prefix it with a description of the query Q, if non-null.
+ */
+void logmsg(const struct query *q, int prio, const char *msg, ...)
+{
+  va_list ap;
+
+  va_start(ap, msg);
+  vlogmsg(q, prio, msg, &ap);
+  va_end(ap);
+}
+
 /* Fix up a socket FD so that it won't bite us.  Returns zero on success, or
  * nonzero on error.
  */