diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-09-11 15:35:47 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-09-11 15:35:47 -0700 |
commit | 5b0ced28f65d369b52e8b1baa5a7e59a6ddc5b56 (patch) | |
tree | df1e06b494ce8d9fc08a1a3e2f64ee7c2b09c902 | |
parent | 91ae9b1233ba658bcbd4d8b59e8dc30e69548012 (diff) |
fix handling of (null) printing
-rw-r--r-- | src/library.js | 4 | ||||
-rw-r--r-- | src/preamble.js | 11 |
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(); |