|
@@ -73,6 +73,14 @@
|
|
|
#include <stdlib.h>
|
|
|
#include <locale.h>
|
|
|
|
|
|
+extern long int __strtol (__const char *__restrict __nptr,
|
|
|
+ char **__restrict __endptr, int __base)
|
|
|
+ __THROW __nonnull ((1)) __wur attribute_hidden;
|
|
|
+__extension__
|
|
|
+extern long long int __strtoll (__const char *__restrict __nptr,
|
|
|
+ char **__restrict __endptr, int __base)
|
|
|
+ __THROW __nonnull ((1)) __wur attribute_hidden;
|
|
|
+
|
|
|
#ifdef __UCLIBC_HAS_WCHAR__
|
|
|
|
|
|
#include <wchar.h>
|
|
@@ -255,10 +263,11 @@ strong_alias(llabs,imaxabs)
|
|
|
|
|
|
#if INT_MAX < LONG_MAX
|
|
|
|
|
|
-int atoi(const char *nptr)
|
|
|
+int attribute_hidden __atoi(const char *nptr)
|
|
|
{
|
|
|
- return (int) strtol(nptr, (char **) NULL, 10);
|
|
|
+ return (int) __strtol(nptr, (char **) NULL, 10);
|
|
|
}
|
|
|
+strong_alias(__atoi,atoi)
|
|
|
|
|
|
#endif
|
|
|
|
|
@@ -266,17 +275,19 @@ int atoi(const char *nptr)
|
|
|
|
|
|
#ifdef L_atol
|
|
|
|
|
|
-long atol(const char *nptr)
|
|
|
+long attribute_hidden __atol(const char *nptr)
|
|
|
{
|
|
|
- return strtol(nptr, (char **) NULL, 10);
|
|
|
+ return __strtol(nptr, (char **) NULL, 10);
|
|
|
}
|
|
|
+strong_alias(__atol,atol)
|
|
|
|
|
|
#if UINT_MAX == ULONG_MAX
|
|
|
-strong_alias(atol,atoi)
|
|
|
+hidden_strong_alias(__atol,__atoi)
|
|
|
+strong_alias(__atol,atoi)
|
|
|
#endif
|
|
|
|
|
|
#if defined(ULLONG_MAX) && (ULLONG_MAX == ULONG_MAX)
|
|
|
-strong_alias(atol,atoll)
|
|
|
+strong_alias(__atol,atoll)
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
@@ -287,7 +298,7 @@ strong_alias(atol,atoll)
|
|
|
|
|
|
long long atoll(const char *nptr)
|
|
|
{
|
|
|
- return strtoll(nptr, (char **) NULL, 10);
|
|
|
+ return __strtoll(nptr, (char **) NULL, 10);
|
|
|
}
|
|
|
|
|
|
#endif
|
|
@@ -296,12 +307,14 @@ long long atoll(const char *nptr)
|
|
|
|
|
|
#if defined(L_strtol) || defined(L_strtol_l)
|
|
|
|
|
|
-long __XL(strtol)(const char * __restrict str, char ** __restrict endptr,
|
|
|
+long attribute_hidden __UCXL(strtol)(const char * __restrict str, char ** __restrict endptr,
|
|
|
int base __LOCALE_PARAM )
|
|
|
{
|
|
|
return __XL_NPP(_stdlib_strto_l)(str, endptr, base, 1 __LOCALE_ARG );
|
|
|
}
|
|
|
|
|
|
+__UCXL_ALIAS(strtol)
|
|
|
+
|
|
|
#if (ULONG_MAX == UINTMAX_MAX) && !defined(L_strtol_l)
|
|
|
strong_alias(strtol,strtoimax)
|
|
|
#endif
|
|
@@ -310,15 +323,13 @@ strong_alias(strtol,strtoimax)
|
|
|
strong_alias(__XL(strtol),__XL(strtoll))
|
|
|
#endif
|
|
|
|
|
|
-__XL_ALIAS(strtol)
|
|
|
-
|
|
|
#endif
|
|
|
|
|
|
#if defined(L_strtoll) || defined(L_strtoll_l)
|
|
|
|
|
|
#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
|
|
|
|
|
|
-long long __XL(strtoll)(const char * __restrict str,
|
|
|
+long long attribute_hidden __UCXL(strtoll)(const char * __restrict str,
|
|
|
char ** __restrict endptr, int base
|
|
|
__LOCALE_PARAM )
|
|
|
{
|
|
@@ -326,6 +337,8 @@ long long __XL(strtoll)(const char * __restrict str,
|
|
|
__LOCALE_ARG );
|
|
|
}
|
|
|
|
|
|
+__UCXL_ALIAS(strtoll)
|
|
|
+
|
|
|
#if !defined(L_strtoll_l)
|
|
|
#if (ULLONG_MAX == UINTMAX_MAX)
|
|
|
strong_alias(strtoll,strtoimax)
|
|
@@ -333,21 +346,21 @@ strong_alias(strtoll,strtoimax)
|
|
|
strong_alias(strtoll,strtoq)
|
|
|
#endif
|
|
|
|
|
|
-__XL_ALIAS(strtoll)
|
|
|
-
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#if defined(L_strtoul) || defined(L_strtoul_l)
|
|
|
|
|
|
-unsigned long __XL(strtoul)(const char * __restrict str,
|
|
|
+unsigned long attribute_hidden __UCXL(strtoul)(const char * __restrict str,
|
|
|
char ** __restrict endptr, int base
|
|
|
__LOCALE_PARAM )
|
|
|
{
|
|
|
return __XL_NPP(_stdlib_strto_l)(str, endptr, base, 0 __LOCALE_ARG );
|
|
|
}
|
|
|
|
|
|
+__UCXL_ALIAS(strtoul)
|
|
|
+
|
|
|
#if (ULONG_MAX == UINTMAX_MAX) && !defined(L_strtoul_l)
|
|
|
strong_alias(strtoul,strtoumax)
|
|
|
#endif
|
|
@@ -356,7 +369,6 @@ strong_alias(strtoul,strtoumax)
|
|
|
strong_alias(__XL(strtoul),__XL(strtoull))
|
|
|
#endif
|
|
|
|
|
|
-__XL_ALIAS(strtoul)
|
|
|
|
|
|
#endif
|
|
|
|
|
@@ -364,13 +376,15 @@ __XL_ALIAS(strtoul)
|
|
|
|
|
|
#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
|
|
|
|
|
|
-unsigned long long __XL(strtoull)(const char * __restrict str,
|
|
|
+unsigned long long attribute_hidden __UCXL(strtoull)(const char * __restrict str,
|
|
|
char ** __restrict endptr, int base
|
|
|
__LOCALE_PARAM )
|
|
|
{
|
|
|
return __XL_NPP(_stdlib_strto_ll)(str, endptr, base, 0 __LOCALE_ARG );
|
|
|
}
|
|
|
|
|
|
+__UCXL_ALIAS(strtoull)
|
|
|
+
|
|
|
#if !defined(L_strtoull_l)
|
|
|
#if (ULLONG_MAX == UINTMAX_MAX)
|
|
|
strong_alias(strtoull,strtoumax)
|
|
@@ -378,8 +392,6 @@ strong_alias(strtoull,strtoumax)
|
|
|
strong_alias(strtoull,strtouq)
|
|
|
#endif
|
|
|
|
|
|
-__XL_ALIAS(strtoull)
|
|
|
-
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
@@ -437,7 +449,7 @@ __XL_ALIAS(strtoull)
|
|
|
|
|
|
#if defined(__UCLIBC_HAS_XLOCALE__) && !defined(__UCLIBC_DO_XLOCALE)
|
|
|
|
|
|
-unsigned long _stdlib_strto_l(register const Wchar * __restrict str,
|
|
|
+unsigned long attribute_hidden _stdlib_strto_l(register const Wchar * __restrict str,
|
|
|
Wchar ** __restrict endptr, int base,
|
|
|
int sflag)
|
|
|
{
|
|
@@ -450,7 +462,7 @@ unsigned long _stdlib_strto_l(register const Wchar * __restrict str,
|
|
|
|
|
|
* strtoul (sflag = 0). */
|
|
|
|
|
|
-unsigned long __XL_NPP(_stdlib_strto_l)(register const Wchar * __restrict str,
|
|
|
+unsigned long attribute_hidden __XL_NPP(_stdlib_strto_l)(register const Wchar * __restrict str,
|
|
|
Wchar ** __restrict endptr, int base,
|
|
|
int sflag __LOCALE_PARAM )
|
|
|
{
|
|
@@ -582,7 +594,7 @@ unsigned long __XL_NPP(_stdlib_strto_l)(register const Wchar * __restrict str,
|
|
|
|
|
|
#if defined(__UCLIBC_HAS_XLOCALE__) && !defined(__UCLIBC_DO_XLOCALE)
|
|
|
|
|
|
-unsigned long long _stdlib_strto_ll(register const Wchar * __restrict str,
|
|
|
+unsigned long long attribute_hidden _stdlib_strto_ll(register const Wchar * __restrict str,
|
|
|
Wchar ** __restrict endptr, int base,
|
|
|
int sflag)
|
|
|
{
|
|
@@ -595,7 +607,7 @@ unsigned long long _stdlib_strto_ll(register const Wchar * __restrict str,
|
|
|
|
|
|
* strtoull (sflag = 0). */
|
|
|
|
|
|
-unsigned long long __XL_NPP(_stdlib_strto_ll)(register const Wchar * __restrict str,
|
|
|
+unsigned long long attribute_hidden __XL_NPP(_stdlib_strto_ll)(register const Wchar * __restrict str,
|
|
|
Wchar ** __restrict endptr, int base,
|
|
|
int sflag __LOCALE_PARAM )
|
|
|
{
|
|
@@ -966,12 +978,14 @@ size_t wcstombs(char * __restrict s, const wchar_t * __restrict pwcs, size_t n)
|
|
|
|
|
|
#if defined(L_wcstol) || defined(L_wcstol_l)
|
|
|
|
|
|
-long __XL(wcstol)(const wchar_t * __restrict str,
|
|
|
+long __UCXL(wcstol)(const wchar_t * __restrict str,
|
|
|
wchar_t ** __restrict endptr, int base __LOCALE_PARAM )
|
|
|
{
|
|
|
return __XL_NPP(_stdlib_wcsto_l)(str, endptr, base, 1 __LOCALE_ARG );
|
|
|
}
|
|
|
|
|
|
+__UCXL_ALIAS(wcstol)
|
|
|
+
|
|
|
#if (ULONG_MAX == UINTMAX_MAX) && !defined(L_wcstol_l)
|
|
|
strong_alias(wcstol,wcstoimax)
|
|
|
#endif
|
|
@@ -980,15 +994,13 @@ strong_alias(wcstol,wcstoimax)
|
|
|
strong_alias(__XL(wcstol),__XL(wcstoll))
|
|
|
#endif
|
|
|
|
|
|
-__XL_ALIAS(wcstol)
|
|
|
-
|
|
|
#endif
|
|
|
|
|
|
#if defined(L_wcstoll) || defined(L_wcstoll_l)
|
|
|
|
|
|
#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
|
|
|
|
|
|
-long long __XL(wcstoll)(const wchar_t * __restrict str,
|
|
|
+long long attribute_hidden __UCXL(wcstoll)(const wchar_t * __restrict str,
|
|
|
wchar_t ** __restrict endptr, int base
|
|
|
__LOCALE_PARAM )
|
|
|
{
|
|
@@ -996,6 +1008,8 @@ long long __XL(wcstoll)(const wchar_t * __restrict str,
|
|
|
__LOCALE_ARG );
|
|
|
}
|
|
|
|
|
|
+__UCXL_ALIAS(wcstoll)
|
|
|
+
|
|
|
#if !defined(L_wcstoll_l)
|
|
|
#if (ULLONG_MAX == UINTMAX_MAX)
|
|
|
strong_alias(wcstoll,wcstoimax)
|
|
@@ -1003,21 +1017,21 @@ strong_alias(wcstoll,wcstoimax)
|
|
|
strong_alias(wcstoll,wcstoq)
|
|
|
#endif
|
|
|
|
|
|
-__XL_ALIAS(wcstoll)
|
|
|
-
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|
|
|
|
#if defined(L_wcstoul) || defined(L_wcstoul_l)
|
|
|
|
|
|
-unsigned long __XL(wcstoul)(const wchar_t * __restrict str,
|
|
|
+unsigned long attribute_hidden __UCXL(wcstoul)(const wchar_t * __restrict str,
|
|
|
wchar_t ** __restrict endptr, int base
|
|
|
__LOCALE_PARAM )
|
|
|
{
|
|
|
return __XL_NPP(_stdlib_wcsto_l)(str, endptr, base, 0 __LOCALE_ARG );
|
|
|
}
|
|
|
|
|
|
+__UCXL_ALIAS(wcstoul)
|
|
|
+
|
|
|
#if (ULONG_MAX == UINTMAX_MAX) && !defined(L_wcstoul_l)
|
|
|
strong_alias(wcstoul,wcstoumax)
|
|
|
#endif
|
|
@@ -1026,21 +1040,21 @@ strong_alias(wcstoul,wcstoumax)
|
|
|
strong_alias(__XL(wcstoul),__XL(wcstoull))
|
|
|
#endif
|
|
|
|
|
|
-__XL_ALIAS(wcstoul)
|
|
|
-
|
|
|
#endif
|
|
|
|
|
|
#if defined(L_wcstoull) || defined(L_wcstoull_l)
|
|
|
|
|
|
#if defined(ULLONG_MAX) && (LLONG_MAX > LONG_MAX)
|
|
|
|
|
|
-unsigned long long __XL(wcstoull)(const wchar_t * __restrict str,
|
|
|
+unsigned long long attribute_hidden __UCXL(wcstoull)(const wchar_t * __restrict str,
|
|
|
wchar_t ** __restrict endptr, int base
|
|
|
__LOCALE_PARAM )
|
|
|
{
|
|
|
return __XL_NPP(_stdlib_wcsto_ll)(str, endptr, base, 0 __LOCALE_ARG );
|
|
|
}
|
|
|
|
|
|
+__UCXL_ALIAS(wcstoull)
|
|
|
+
|
|
|
#if !defined(L_wcstoull_l)
|
|
|
#if (ULLONG_MAX == UINTMAX_MAX)
|
|
|
strong_alias(wcstoull,wcstoumax)
|
|
@@ -1048,10 +1062,7 @@ strong_alias(wcstoull,wcstoumax)
|
|
|
strong_alias(wcstoull,wcstouq)
|
|
|
#endif
|
|
|
|
|
|
-__XL_ALIAS(wcstoull)
|
|
|
-
|
|
|
#endif
|
|
|
|
|
|
#endif
|
|
|
|
|
|
-
|