From d176a41a62cad5cee4541176077380a84c0f49d7 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Fri, 6 Mar 2015 10:26:58 +0100 Subject: vfprintf: Introduce THOUSANDS_SEP_T This avoids preprocessor conditionals in function declarations. --- stdio-common/vfprintf.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) (limited to 'stdio-common') diff --git a/stdio-common/vfprintf.c b/stdio-common/vfprintf.c index a41449d268..d575994d36 100644 --- a/stdio-common/vfprintf.c +++ b/stdio-common/vfprintf.c @@ -81,6 +81,7 @@ # define CHAR_T char # define UCHAR_T unsigned char # define INT_T int +typedef const char *THOUSANDS_SEP_T; # define L_(Str) Str # define ISDIGIT(Ch) ((unsigned int) ((Ch) - '0') < 10) # define STR_LEN(Str) strlen (Str) @@ -108,6 +109,7 @@ /* This is a hack!!! There should be a type uwchar_t. */ # define UCHAR_T unsigned int /* uwchar_t */ # define INT_T wint_t +typedef wchar_t THOUSANDS_SEP_T; # define L_(Str) L##Str # define ISDIGIT(Ch) ((unsigned int) ((Ch) - L'0') < 10) # define STR_LEN(Str) __wcslen (Str) @@ -207,25 +209,15 @@ static int printf_unknown (FILE *, const struct printf_info *, const void *const *) __THROW; /* Group digits of number string. */ -#ifdef COMPILE_WPRINTF -static CHAR_T *group_number (CHAR_T *, CHAR_T *, const char *, wchar_t) - __THROW internal_function; -#else -static CHAR_T *group_number (CHAR_T *, CHAR_T *, const char *, const char *) +static CHAR_T *group_number (CHAR_T *, CHAR_T *, const char *, THOUSANDS_SEP_T) __THROW internal_function; -#endif - /* The function itself. */ int vfprintf (FILE *s, const CHAR_T *format, va_list ap) { /* The character used as thousands separator. */ -#ifdef COMPILE_WPRINTF - wchar_t thousands_sep = L'\0'; -#else - const char *thousands_sep = NULL; -#endif + THOUSANDS_SEP_T thousands_sep = 0; /* The string describing the size of groups of digits. */ const char *grouping; @@ -2150,12 +2142,7 @@ printf_unknown (FILE *s, const struct printf_info *info, static CHAR_T * internal_function group_number (CHAR_T *w, CHAR_T *rear_ptr, const char *grouping, -#ifdef COMPILE_WPRINTF - wchar_t thousands_sep -#else - const char *thousands_sep -#endif - ) + THOUSANDS_SEP_T thousands_sep) { int len; CHAR_T *src, *s; -- cgit v1.2.3