diff options
Diffstat (limited to 'src/preamble.js')
-rw-r--r-- | src/preamble.js | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/preamble.js b/src/preamble.js index a2ceaa0c..e458384d 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -136,8 +136,16 @@ function __formatString() { while (curr != 0) { curr = HEAP[textIndex]; next = HEAP[textIndex+1]; - if (curr == '%'.charCodeAt(0) && ['d', 'f'].indexOf(String.fromCharCode(next)) != -1) { - String(arguments[argIndex]).split('').forEach(function(chr) { + if (curr == '%'.charCodeAt(0) && ['d', 'f', '.'].indexOf(String.fromCharCode(next)) != -1) { + var argText = String(arguments[argIndex]); + // Handle very very simply formatting, namely only %.Xf + if (HEAP[textIndex+1] == '.'.charCodeAt(0)) { + var limit = parseInt(String.fromCharCode(HEAP[textIndex+2])); + var dotIndex = argText.indexOf('.'); + argText = argText.substr(0, dotIndex+1+limit); + textIndex += 2; + } + argText.split('').forEach(function(chr) { ret.push(chr.charCodeAt(0)); }); argIndex += 1; |