Re: [libvirt] [PATCH] virLogDefineOutputs: Fix build without syslog.h

2016-10-13 Thread Michal Privoznik
On 14.10.2016 10:22, John Ferlan wrote:
> 
> 
> 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 
>> ---
>>
>> 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

D'oh! I'm sorry. For some reason I didn't check the list before starting
to work on this. I could come up with some lousy excuse (like morning
coffee hasn't kicked in yet), but next time I'll check.

Michal

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH] virLogDefineOutputs: Fix build without syslog.h

2016-10-13 Thread John Ferlan


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 
> ---
> 
> 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;
>  }
>  
>  
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH] virLogDefineOutputs: Fix build without syslog.h

2016-10-13 Thread Michal Privoznik
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 
---

Pushed under build breaker rule.

 src/util/virlog.c | 15 +--
 1 file changed, 9 insertions(+), 6 deletions(-)

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;
 }
 
 
-- 
2.8.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list