On 10/10/2016 08:04 AM, Erik Skultety wrote: > 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@xxxxxxxxxx> > --- > 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(-) > Can the syslog specific hunk just be moved into a #if HAVE_SYSLOG specific section of code as a virLogFindSyslogOutputs(outputs, noutputs), then called inside an #if HAVE_SYSLOG_H (similar to virLogNewOutputToSyslog in virLogParseOutput) While the following works - it intersperses new variable definitions inside the #if's and doesn't seem "as clean" John > 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; > } > > > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list