diff options
author | Christopher Ferris <cferris@google.com> | 2016-11-17 20:06:05 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-11-17 20:06:05 +0000 |
commit | a5c16983a65e2169174a0e77a54c0ce650f87b48 (patch) | |
tree | 1e2afb4c99341581ab9ad07e0b415b2372fbce36 | |
parent | 3613c20c59f931caa7d5411e4350306a4d6ad1e0 (diff) | |
parent | f76a21a1854f56a28415e0fd87a8f43a2abcab94 (diff) | |
download | android_bionic-a5c16983a65e2169174a0e77a54c0ce650f87b48.tar.gz android_bionic-a5c16983a65e2169174a0e77a54c0ce650f87b48.tar.bz2 android_bionic-a5c16983a65e2169174a0e77a54c0ce650f87b48.zip |
Merge "Fix iswlower/iswupper."
-rw-r--r-- | libc/bionic/wctype.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libc/bionic/wctype.cpp b/libc/bionic/wctype.cpp index 3a880d33f..cd8c39b0b 100644 --- a/libc/bionic/wctype.cpp +++ b/libc/bionic/wctype.cpp @@ -40,8 +40,12 @@ int iswalnum(wint_t wc) { return iswdigit(wc) || iswalpha(wc); } int iswblank(wint_t wc) { return isblank(wc); } int iswdigit(wint_t wc) { return isdigit(wc); } int iswgraph(wint_t wc) { return !iswspace(wc) && iswprint(wc); } -int iswlower(wint_t wc) { return towlower(wc) != wc; } -int iswupper(wint_t wc) { return towupper(wc) != wc; } +int iswlower(wint_t wc) { + return towlower(wc) == wc && !(iswcntrl(wc) || iswdigit(wc) || iswpunct(wc) || iswspace(wc)); +} +int iswupper(wint_t wc) { + return towupper(wc) == wc && !(iswcntrl(wc) || iswdigit(wc) || iswpunct(wc) || iswspace(wc)); +} int iswxdigit(wint_t wc) { return isxdigit(wc); } // TODO: need proper implementations of these. |