diff options
author | Dan Albert <danalbert@google.com> | 2018-02-06 14:57:59 -0800 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2018-02-06 17:36:46 -0800 |
commit | 5e6c498d97210342a575640a891be4a4230be602 (patch) | |
tree | b20eedf36166fc78ab4e1b9fbd53fa7380e19ebf /sources | |
parent | c5ac7afa6484d7053bcf95d1ae333226a72c5cc6 (diff) | |
download | ndk-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.h | 7 | ||||
-rw-r--r-- | sources/android/support/src/locale_support.cpp | 19 |
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); } |