mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 14:45:24 +00:00
virLogDefineOutputs: Fix build without syslog.h
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@redhat.com>
This commit is contained in:
parent
cf9a423cbd
commit
a564568f06
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user