[libvirt] [PATCH] virlog: Enclose part of virLogDefineOutputs in HAVE_SYSLOG_H block

Erik Skultety eskultet at redhat.com
Mon Oct 10 12:04:43 UTC 2016


Commit 640b58ab broke the mingw build because it referenced 'current_ident'
as well as 'openlog' symbols both of which are declared conditionally within
HAVE_SYSLOG_H directive. This patch fixes the broken build. Additional changes
like moving all variable declarations in virLogDefineOutputs into the
conditional block were necessary to avoid 'unused variable' errors from mingw.

Signed-off-by: Erik Skultety <eskultet at redhat.com>
---
I could've pushed it under build breaker rule but I'd rather be safe than sorry
that I missed anything else.

Erik


 src/util/virlog.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/util/virlog.c b/src/util/virlog.c
index 14ee701..f52d9d8 100644
--- a/src/util/virlog.c
+++ b/src/util/virlog.c
@@ -1362,16 +1362,15 @@ virLogFindOutput(virLogOutputPtr *outputs, size_t noutputs,
 int
 virLogDefineOutputs(virLogOutputPtr *outputs, size_t noutputs)
 {
-    int ret = -1;
-    int id;
+    if (virLogInitialize() < 0)
+        return -1;
+
+    virLogLock();
+    virLogResetOutputs();
+
+#if HAVE_SYSLOG_H
+    int id = -1;
     char *tmp = NULL;
-
-    if (virLogInitialize() < 0)
-        return -1;
-
-    virLogLock();
-    virLogResetOutputs();
-
     /* syslog needs to be special-cased, since it keeps the fd in private */
     if ((id = virLogFindOutput(outputs, noutputs, VIR_LOG_TO_SYSLOG,
                                current_ident)) != -1) {
@@ -1379,20 +1378,21 @@ virLogDefineOutputs(virLogOutputPtr *outputs, size_t noutputs)
          * holding the lock so it's safe to call openlog and change the message
          * tag
          */
-        if (VIR_STRDUP_QUIET(tmp, outputs[id]->name) < 0)
-            goto cleanup;
+        if (VIR_STRDUP_QUIET(tmp, outputs[id]->name) < 0) {
+            virLogUnlock();
+            return -1;
+        }
         VIR_FREE(current_ident);
         current_ident = tmp;
         openlog(current_ident, 0, 0);
     }
+#endif
 
     virLogOutputs = outputs;
     virLogNbOutputs = noutputs;
 
-    ret = 0;
- cleanup:
     virLogUnlock();
-    return ret;
+    return 0;
 }
 
 
-- 
2.5.5




More information about the libvir-list mailing list