aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-09-11 15:35:47 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-09-11 15:35:47 -0700
commit5b0ced28f65d369b52e8b1baa5a7e59a6ddc5b56 (patch)
treedf1e06b494ce8d9fc08a1a3e2f64ee7c2b09c902
parent91ae9b1233ba658bcbd4d8b59e8dc30e69548012 (diff)
fix handling of (null) printing
-rw-r--r--src/library.js4
-rw-r--r--src/preamble.js11
2 files changed, 5 insertions, 10 deletions
diff --git a/src/library.js b/src/library.js
index d2d61867..95f5a562 100644
--- a/src/library.js
+++ b/src/library.js
@@ -2802,9 +2802,9 @@ LibraryManager.library = {
});
} else if (next == 's'.charCodeAt(0)) {
// String.
- var arg = getNextArg('i8*') || 0; // 0 holds '(null)'
+ var arg = getNextArg('i8*') || nullString;
var argLength = String_len(arg);
- if (precisionSet) argLength = Math.min(String_len(arg), precision);
+ if (precisionSet) argLength = Math.min(argLength, precision);
if (!flagLeftAlign) {
while (argLength < width--) {
ret.push(' '.charCodeAt(0));
diff --git a/src/preamble.js b/src/preamble.js
index bbb9d684..30afce70 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -641,13 +641,6 @@ var FAST_MEMORY = Module['FAST_MEMORY'] || {{{ FAST_MEMORY }}};
}
#endif
-var base = intArrayFromString('(null)'); // So printing %s of NULL gives '(null)'
- // Also this ensures we leave 0 as an invalid address, 'NULL'
-STATICTOP = base.length;
-for (var i = 0; i < base.length; i++) {
- {{{ makeSetValue(0, 'i', 'base[i]', 'i8', null, null, null, 1) }}}
-}
-
Module['HEAP'] = HEAP;
#if USE_TYPED_ARRAYS == 1
Module['IHEAP'] = IHEAP;
@@ -666,7 +659,7 @@ Module['HEAPF32'] = HEAPF32;
Module['HEAPF64'] = HEAPF64;
#endif
-STACK_ROOT = STACKTOP = Runtime.alignMemory(STATICTOP);
+STACK_ROOT = STACKTOP = Runtime.alignMemory(1);
STACK_MAX = STACK_ROOT + TOTAL_STACK;
#if USE_TYPED_ARRAYS == 2
@@ -696,6 +689,8 @@ STACK_MAX = tempDoublePtr + 8;
STATICTOP = alignMemoryPage(STACK_MAX);
+var nullString = allocate(intArrayFromString('(null)'), 'i8', ALLOC_STATIC);
+
function callRuntimeCallbacks(callbacks) {
while(callbacks.length > 0) {
var callback = callbacks.shift();