aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/android/support/include/stdlib.h7
-rw-r--r--sources/android/support/src/locale_support.cpp19
2 files changed, 9 insertions, 17 deletions
diff --git a/sources/android/support/include/stdlib.h b/sources/android/support/include/stdlib.h
index 1049aedba..b0cc57974 100644
--- a/sources/android/support/include/stdlib.h
+++ b/sources/android/support/include/stdlib.h
@@ -49,13 +49,6 @@ int at_quick_exit(void (*)(void));
void quick_exit(int) __noreturn;
#endif
-#if __ANDROID_API__ < __ANDROID_API_O__
-double strtod_l(const char*, char**, locale_t);
-float strtof_l(const char*, char**, locale_t);
-long strtol_l(const char*, char**, int, locale_t);
-unsigned long strtoul_l(const char*, char**, int, locale_t);
-#endif
-
__END_DECLS
#endif
diff --git a/sources/android/support/src/locale_support.cpp b/sources/android/support/src/locale_support.cpp
index 8264aa7b9..a730fc6b0 100644
--- a/sources/android/support/src/locale_support.cpp
+++ b/sources/android/support/src/locale_support.cpp
@@ -1,17 +1,16 @@
#include <stdlib.h>
+#include <xlocale.h>
-long strtol_l(const char *nptr, char **endptr, int base, locale_t loc) {
- return strtol(nptr, endptr, base);
+long long strtoll_l(const char* nptr, char** endptr, int base, locale_t loc) {
+ return strtoll(nptr, endptr, base);
}
-unsigned long strtoul_l(const char *nptr, char **endptr, int base, locale_t loc) {
- return strtoul(nptr, endptr, base);
+unsigned long long strtoull_l(const char* nptr, char** endptr, int base,
+ locale_t loc) {
+ return strtoull(nptr, endptr, base);
}
-double strtod_l(const char* nptr, char** endptr, locale_t __unused locale) {
- return strtod(nptr, endptr);
-}
-
-float strtof_l(const char* nptr, char** endptr, locale_t __unused locale) {
- return strtof(nptr, endptr);
+long double strtold_l(const char* nptr, char** endptr,
+ locale_t __unused locale) {
+ return strtold(nptr, endptr);
}