[libvirt] [PATCH] virLogDefineOutputs: Fix build without syslog.h
John Ferlan
jferlan at redhat.com
Fri Oct 14 02:22:26 UTC 2016
On 10/13/2016 10:12 PM, Michal Privoznik wrote:
> Not every system out there has syslog, that's why we check for it
> in our configure script. However, in 640b58abdf while fixing
> another issue, some variables and functions are called that are
> defined only when syslog.h is present. But these function
> calls/variables were not guarded by #ifdef-s.
>
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>
> Pushed under build breaker rule.
>
> src/util/virlog.c | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)
>
FYI: There was a patch on list from Eric:
http://www.redhat.com/archives/libvir-list/2016-October/msg00397.html
John
> diff --git a/src/util/virlog.c b/src/util/virlog.c
> index 52b0eea..8f831fc 100644
> --- a/src/util/virlog.c
> +++ b/src/util/virlog.c
> @@ -1362,9 +1362,10 @@ virLogFindOutput(virLogOutputPtr *outputs, size_t noutputs,
> int
> virLogDefineOutputs(virLogOutputPtr *outputs, size_t noutputs)
> {
> - int ret = -1;
> +#if HAVE_SYSLOG_H
> int id;
> char *tmp = NULL;
> +#endif /* HAVE_SYSLOG_H */
>
> if (virLogInitialize() < 0)
> return -1;
> @@ -1372,6 +1373,7 @@ virLogDefineOutputs(virLogOutputPtr *outputs, size_t noutputs)
> virLogLock();
> virLogResetOutputs();
>
> +#if HAVE_SYSLOG_H
> /* 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 +1381,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 /* HAVE_SYSLOG_H */
>
> virLogOutputs = outputs;
> virLogNbOutputs = noutputs;
>
> - ret = 0;
> - cleanup:
> virLogUnlock();
> - return ret;
> + return 0;
> }
>
>
>
More information about the libvir-list
mailing list