aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <azakai@mozilla.com>2010-11-14 23:11:21 -0800
committerAlon Zakai <azakai@mozilla.com>2010-11-14 23:11:21 -0800
commit31e499464ec66b4806ef0777579b3d91049dd320 (patch)
tree8d70846dedd52eb2af41aab080b50a115324a102 /src
parentee0166c83cd91a469bbe2d1da3c27f180da7b582 (diff)
additional ctype.h library implementations
Diffstat (limited to 'src')
-rw-r--r--src/library.js28
1 files changed, 24 insertions, 4 deletions
diff --git a/src/library.js b/src/library.js
index dc178294..6567ebab 100644
--- a/src/library.js
+++ b/src/library.js
@@ -104,10 +104,6 @@ var Library = {
}
},
- isdigit: function(chr) {
- return chr >= '0'.charCodeAt(0) && chr <= '9'.charCodeAt(0);
- },
-
memcmp: function(p1, p2, num) {
for (var i = 0; i < num; i++) {
var v1 = IHEAP[p1+i];
@@ -117,6 +113,30 @@ var Library = {
return 0;
},
+ // ctype.h
+
+ isdigit: function(chr) {
+ return chr >= '0'.charCodeAt(0) && chr <= '9'.charCodeAt(0);
+ },
+
+ isxdigit: function(chr) {
+ return (chr >= '0'.charCodeAt(0) && chr <= '9'.charCodeAt(0)) ||
+ (chr >= 'a'.charCodeAt(0) && chr <= 'f'.charCodeAt(0)) ||
+ (chr >= 'A'.charCodeAt(0) && chr <= 'F'.charCodeAt(0));
+ },
+
+ isalpha: function(chr) {
+ return (chr >= 'a'.charCodeAt(0) && chr <= 'z'.charCodeAt(0)) ||
+ (chr >= 'A'.charCodeAt(0) && chr <= 'Z'.charCodeAt(0));
+ },
+
+ toupper: function(chr) {
+ if (chr >= 'a'.charCodeAt(0) && chr <= 'z'.charCodeAt(0)) {
+ return chr - 'a'.charCodeAt(0) + 'A'.charCodeAt(0);
+ }
+ return chr;
+ },
+
// LLVM specifics
__assert_fail: function(condition, file, line) {