diff options
author | daurnimator <quae@daurnimator.com> | 2017-06-15 01:38:02 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2017-06-15 01:38:02 +1000 |
commit | 61a5284a07d9a9342d192ae6fb4e8e567a3811a9 (patch) | |
tree | 45c136554109078a6940754a52ab20f64bd30f4b | |
parent | 5fb9e658f0e9a1604ae4314ba531179e1cfbd8bb (diff) | |
download | fengari-61a5284a07d9a9342d192ae6fb4e8e567a3811a9.tar.gz fengari-61a5284a07d9a9342d192ae6fb4e8e567a3811a9.tar.bz2 fengari-61a5284a07d9a9342d192ae6fb4e8e567a3811a9.zip |
src/lstrlib.js: Fix islower+isupper
Old islower considered the null byte to be lower case. The new implementations are simpler too
-rw-r--r-- | src/lstrlib.js | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lstrlib.js b/src/lstrlib.js index 70b9e5f..d3373a4 100644 --- a/src/lstrlib.js +++ b/src/lstrlib.js @@ -165,8 +165,8 @@ const isalpha = e => ('a'.charCodeAt(0) <= e && e <= 'z'.charCodeAt(0)) || (e >= const isdigit = e => '0'.charCodeAt(0) <= e && e <= '9'.charCodeAt(0); const iscntrl = e => (0x00 <= e && e <= 0x1f) || e === 0x7f; const isgraph = e => e > 32 && e < 127; // TODO: Will only work for ASCII -const islower = e => /^(?![A-Z]).*$/.test(String.fromCharCode(e)); -const isupper = e => /^(?![a-z]).*$/.test(String.fromCharCode(e)); +const islower = e => /^[a-z]$/.test(String.fromCharCode(e)); +const isupper = e => /^[A-Z]$/.test(String.fromCharCode(e)); const isalnum = e => /^[a-zA-Z0-9]$/.test(String.fromCharCode(e)); const ispunct = e => isgraph(e) && !isalnum(e); const isspace = e => /^\s$/.test(String.fromCharCode(e)); |