aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2011-11-02 18:21:55 -0700
committerAlon Zakai <alonzakai@gmail.com>2011-11-02 18:21:55 -0700
commit04ade3edb08382b56242725c8a13ee707281bde2 (patch)
tree9d6d144ad619558247522dc10219e9033d20e6c5 /src
parent132bbc90e82bdeef7410ed50c9d6c513bc2d28ba (diff)
fix atoi
Diffstat (limited to 'src')
-rw-r--r--src/library.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/library.js b/src/library.js
index de42d1e0..2e0adb64 100644
--- a/src/library.js
+++ b/src/library.js
@@ -3156,8 +3156,14 @@ LibraryManager.library = {
abs: 'Math.abs', // XXX should be integer?
+ atoi__deps: ['isspace', 'isdigit'],
atoi: function(s) {
- return Math.floor(Number(Pointer_stringify(s)));
+ var c;
+ while ((c = {{{ makeGetValue('s', 0, 'i8') }}}) && _isspace(c)) s++;
+ if (!c || !_isdigit(c)) return 0;
+ var e = s;
+ while ((c = {{{ makeGetValue('e', 0, 'i8') }}}) && _isdigit(c)) e++;
+ return Math.floor(Number(Pointer_stringify(s).substr(0, e-s)));
},
exit__deps: ['_exit'],