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(a)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