+2008-06-15 Nicolas François <nicolas.francois@centraliens.net>
+
+ * 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 <nicolas.francois@centraliens.net>
* libmisc/failure.c: Check return values. If lseek() failed, avoid
* --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 */