summaryrefslogtreecommitdiff
path: root/stdio-common
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-03-21 14:38:47 -0700
committerH.J. Lu <hjl.tools@gmail.com>2012-03-21 14:38:47 -0700
commit8e95c99a7a0b0ca8cf9bfbeddf1e43fb3efc1bee (patch)
tree2e038a43f7b15ea609cb9e37a98fc4f9eb8a83e0 /stdio-common
parent6f4db457f8300d9d58fe5f931cdf9f54c0fde2a2 (diff)
Add _ITOA_NEEDED and _ITOA_WORD_TYPE
Add _ITOA_NEEDED and _ITOA_WORD_TYPE to override _itoa and _itowa.
Diffstat (limited to 'stdio-common')
-rw-r--r--stdio-common/_itowa.c2
-rw-r--r--stdio-common/_itowa.h9
2 files changed, 9 insertions, 2 deletions
diff --git a/stdio-common/_itowa.c b/stdio-common/_itowa.c
index 1ebc712b43..9381d33b6c 100644
--- a/stdio-common/_itowa.c
+++ b/stdio-common/_itowa.c
@@ -85,7 +85,7 @@ extern const wchar_t _itowa_lower_digits[] attribute_hidden;
extern const wchar_t _itowa_upper_digits[] attribute_hidden;
-#if LLONG_MAX != LONG_MAX
+#if _ITOA_NEEDED
wchar_t *
_itowa (value, buflim, base, upper_case)
unsigned long long int value;
diff --git a/stdio-common/_itowa.h b/stdio-common/_itowa.h
index 0f3331144f..aa349573fc 100644
--- a/stdio-common/_itowa.h
+++ b/stdio-common/_itowa.h
@@ -20,6 +20,7 @@
#define _ITOWA_H 1
#include <features.h>
#include <wchar.h>
+#include <_itoa.h>
/* Convert VALUE into ASCII in base BASE (2..36).
Write backwards starting the character just before BUFLIM.
@@ -31,7 +32,7 @@ extern wchar_t *_itowa (unsigned long long int value, wchar_t *buflim,
static inline wchar_t *
__attribute__ ((unused, always_inline))
-_itowa_word (unsigned long value, wchar_t *buflim,
+_itowa_word (_ITOA_WORD_TYPE value, wchar_t *buflim,
unsigned int base, int upper_case)
{
extern const wchar_t _itowa_upper_digits[] attribute_hidden;
@@ -61,4 +62,10 @@ _itowa_word (unsigned long value, wchar_t *buflim,
}
#undef SPECIAL
+#if !_ITOA_NEEDED
+/* No need for special long long versions. */
+# define _itowa(value, buf, base, upper_case) \
+ _itowa_word (value, buf, base, upper_case)
+#endif
+
#endif /* itowa.h */