|
@@ -0,0 +1,192 @@
|
|
|
+// -*- C++ -*-
|
|
|
+//===------------------- support/android/locale_bionic.h ------------------===//
|
|
|
+//
|
|
|
+// The LLVM Compiler Infrastructure
|
|
|
+//
|
|
|
+// This file is dual licensed under the MIT and the University of Illinois Open
|
|
|
+// Source Licenses. See LICENSE.TXT for details.
|
|
|
+//
|
|
|
+//===----------------------------------------------------------------------===//
|
|
|
+
|
|
|
+#ifndef _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
|
|
|
+#define _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
|
|
|
+
|
|
|
+#if defined(__ANDROID__)
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+extern "C" {
|
|
|
+#endif
|
|
|
+
|
|
|
+#include <stdlib.h>
|
|
|
+#include <xlocale.h>
|
|
|
+
|
|
|
+static inline int isalnum_l(int c, locale_t) {
|
|
|
+ return isalnum(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int isalpha_l(int c, locale_t) {
|
|
|
+ return isalpha(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int isblank_l(int c, locale_t) {
|
|
|
+ return isblank(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iscntrl_l(int c, locale_t) {
|
|
|
+ return iscntrl(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int isdigit_l(int c, locale_t) {
|
|
|
+ return isdigit(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int isgraph_l(int c, locale_t) {
|
|
|
+ return isgraph(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int islower_l(int c, locale_t) {
|
|
|
+ return islower(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int isprint_l(int c, locale_t) {
|
|
|
+ return isprint(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int ispunct_l(int c, locale_t) {
|
|
|
+ return ispunct(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int isspace_l(int c, locale_t) {
|
|
|
+ return isspace(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int isupper_l(int c, locale_t) {
|
|
|
+ return isupper(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int isxdigit_l(int c, locale_t) {
|
|
|
+ return isxdigit(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswalnum_l(wint_t c, locale_t) {
|
|
|
+ return iswalnum(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswalpha_l(wint_t c, locale_t) {
|
|
|
+ return iswalpha(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswblank_l(wint_t c, locale_t) {
|
|
|
+ return iswblank(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswcntrl_l(wint_t c, locale_t) {
|
|
|
+ return iswcntrl(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswdigit_l(wint_t c, locale_t) {
|
|
|
+ return iswdigit(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswgraph_l(wint_t c, locale_t) {
|
|
|
+ return iswgraph(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswlower_l(wint_t c, locale_t) {
|
|
|
+ return iswlower(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswprint_l(wint_t c, locale_t) {
|
|
|
+ return iswprint(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswpunct_l(wint_t c, locale_t) {
|
|
|
+ return iswpunct(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswspace_l(wint_t c, locale_t) {
|
|
|
+ return iswspace(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswupper_l(wint_t c, locale_t) {
|
|
|
+ return iswupper(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int iswxdigit_l(wint_t c, locale_t) {
|
|
|
+ return iswxdigit(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int toupper_l(int c, locale_t) {
|
|
|
+ return toupper(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int tolower_l(int c, locale_t) {
|
|
|
+ return tolower(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int towupper_l(int c, locale_t) {
|
|
|
+ return towupper(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int towlower_l(int c, locale_t) {
|
|
|
+ return towlower(c);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int strcoll_l(const char *s1, const char *s2, locale_t) {
|
|
|
+ return strcoll(s1, s2);
|
|
|
+}
|
|
|
+
|
|
|
+static inline size_t strxfrm_l(char *dest, const char *src, size_t n,
|
|
|
+ locale_t) {
|
|
|
+ return strxfrm(dest, src, n);
|
|
|
+}
|
|
|
+
|
|
|
+static inline size_t strftime_l(char *s, size_t max, const char *format,
|
|
|
+ const struct tm *tm, locale_t) {
|
|
|
+ return strftime(s, max, format, tm);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int wcscoll_l(const wchar_t *ws1, const wchar_t *ws2, locale_t) {
|
|
|
+ return wcscoll(ws1, ws2);
|
|
|
+}
|
|
|
+
|
|
|
+static inline size_t wcsxfrm_l(wchar_t *dest, const wchar_t *src, size_t n,
|
|
|
+ locale_t) {
|
|
|
+ return wcsxfrm(dest, src, n);
|
|
|
+}
|
|
|
+
|
|
|
+static inline long double strtold_l(const char *nptr, char **endptr, locale_t) {
|
|
|
+ return strtold(nptr, endptr);
|
|
|
+}
|
|
|
+
|
|
|
+static inline long long strtoll_l(const char *nptr, char **endptr, size_t base,
|
|
|
+ locale_t) {
|
|
|
+ return strtoll(nptr, endptr, base);
|
|
|
+}
|
|
|
+
|
|
|
+static inline unsigned long long strtoull_l(const char *nptr, char **endptr,
|
|
|
+ size_t base, locale_t) {
|
|
|
+ return strtoull(nptr, endptr, base);
|
|
|
+}
|
|
|
+
|
|
|
+static inline long long wcstoll_l(const wchar_t *nptr, wchar_t **endptr,
|
|
|
+ size_t base, locale_t) {
|
|
|
+ return wcstoll(nptr, endptr, base);
|
|
|
+}
|
|
|
+
|
|
|
+static inline unsigned long long wcstoull_l(const wchar_t *nptr,
|
|
|
+ wchar_t **endptr, size_t base,
|
|
|
+ locale_t) {
|
|
|
+ return wcstoull(nptr, endptr, base);
|
|
|
+}
|
|
|
+
|
|
|
+static inline long double wcstold_l(const wchar_t *nptr, wchar_t **endptr,
|
|
|
+ locale_t) {
|
|
|
+ return wcstold(nptr, endptr);
|
|
|
+}
|
|
|
+
|
|
|
+#ifdef __cplusplus
|
|
|
+}
|
|
|
+#endif
|
|
|
+#endif // defined(__ANDROID__)
|
|
|
+#endif // _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
|