From f42160862a7251e74c818c84a75408da79fc88cc Mon Sep 17 00:00:00 2001 From: nekral-guest Date: Sat, 14 Jun 2008 23:41:38 +0000 Subject: [PATCH] * lib/defines.h: Avoid implicit conversion of pointers to booleans. * lib/defines.h: Ignore return values of setlocale() except the first call. * lib/defines.h: Fix a splint observer warning by using an intermediate variable (old_locale). --- ChangeLog | 9 +++++++++ lib/defines.h | 21 ++++++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index b2487255..70014017 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-06-15 Nicolas François + + * lib/defines.h: Avoid implicit conversion of pointers to + booleans. + * lib/defines.h: Ignore return values of setlocale() except the + first call. + * lib/defines.h: Fix a splint observer warning by using an + intermediate variable (old_locale). + 2008-06-15 Nicolas François * libmisc/failure.c: Check return values. If lseek() failed, avoid diff --git a/lib/defines.h b/lib/defines.h index bfcd73f0..4d536fbe 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -154,17 +154,20 @@ char *strchr (), *strrchr (), *strtok (); * --Nekral */ #define SYSLOG(x) \ do { \ - char *saved_locale = setlocale(LC_ALL, NULL); \ - if (saved_locale) \ - saved_locale = strdup(saved_locale); \ - if (saved_locale) \ - setlocale(LC_ALL, "C"); \ + char *old_locale = setlocale(LC_ALL, NULL); \ + char *saved_locale = NULL; \ + if (NULL != old_locale) { \ + saved_locale = strdup (old_locale); \ + } \ + if (NULL != saved_locale) { \ + (void) setlocale (LC_ALL, "C"); \ + } \ syslog x ; \ - if (saved_locale) { \ - setlocale(LC_ALL, saved_locale); \ - free(saved_locale); \ + if (NULL != saved_locale) { \ + (void) setlocale (LC_ALL, saved_locale); \ + free (saved_locale); \ } \ - } while (0) + } while (false) #else /* !ENABLE_NLS */ #define SYSLOG(x) syslog x #endif /* !ENABLE_NLS */ -- 2.40.0