* 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).
This commit is contained in:
nekral-guest 2008-06-14 23:41:38 +00:00
parent 1b631c42ef
commit f42160862a
2 changed files with 22 additions and 10 deletions

View File

@ -1,3 +1,12 @@
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

View File

@ -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"); \
syslog x ; \
if (saved_locale) { \
setlocale(LC_ALL, saved_locale); \
free(saved_locale); \
char *old_locale = setlocale(LC_ALL, NULL); \
char *saved_locale = NULL; \
if (NULL != old_locale) { \
saved_locale = strdup (old_locale); \
} \
} while (0)
if (NULL != saved_locale) { \
(void) setlocale (LC_ALL, "C"); \
} \
syslog x ; \
if (NULL != saved_locale) { \
(void) setlocale (LC_ALL, saved_locale); \
free (saved_locale); \
} \
} while (false)
#else /* !ENABLE_NLS */
#define SYSLOG(x) syslog x
#endif /* !ENABLE_NLS */