Adapt to platform update.
We have these functions provided as inlines in bionic now. As such,
we no longer use libc++'s implementation of these for LP32, and need
to provide the *other* functions provided by that file here.
Test: ./checkbuild.py && ./run_tests.py
Bug: None
Change-Id: I369c8f32d7f15135bf9e95ea09ecd24734d6fcc7
diff --git a/sources/android/support/include/stdlib.h b/sources/android/support/include/stdlib.h
index 1049aed..b0cc579 100644
--- a/sources/android/support/include/stdlib.h
+++ b/sources/android/support/include/stdlib.h
@@ -49,13 +49,6 @@
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 8264aa7..a730fc6 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);
}