]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
vfprintf: Introduce THOUSANDS_SEP_T
authorFlorian Weimer <fweimer@redhat.com>
Fri, 6 Mar 2015 09:26:58 +0000 (10:26 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Fri, 6 Mar 2015 09:26:58 +0000 (10:26 +0100)
This avoids preprocessor conditionals in function declarations.

ChangeLog
stdio-common/vfprintf.c

index c7873daaccca44e28353c2d2003d5ae921415816..6c6ff4466c27ad76dd8b4b9152f4bea5353de8bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-06  Florian Weimer  <fweimer@redhat.com>
+
+       * stdio-common/vfprintf.c (THOUSANDS_SEP_T): New typedef.
+       (group_number, vfprintf): Use it.
+
 2015-03-06  Rical Jasan  <ricaljasan@pacific.net>
 
        * manual/errno.texi (Error Messages): Complete example function
index a41449d26874ef313d86163db6f60c353bf0f69e..d575994d369f622a5fa753fe35d657289a30adb0 100644 (file)
@@ -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)
 /* 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;