aboutsummaryrefslogtreecommitdiff
path: root/src/library.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/library.js')
-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) {