aboutsummaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2018-02-06 14:57:59 -0800
committerDan Albert <danalbert@google.com>2018-02-06 17:36:46 -0800
commit5e6c498d97210342a575640a891be4a4230be602 (patch)
treeb20eedf36166fc78ab4e1b9fbd53fa7380e19ebf /sources
parentc5ac7afa6484d7053bcf95d1ae333226a72c5cc6 (diff)
downloadndk-5e6c498d97210342a575640a891be4a4230be602.tar.gz
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
Diffstat (limited to 'sources')
-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);
}