aboutsummaryrefslogtreecommitdiff
path: root/src/preamble.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/preamble.js')
-rw-r--r--src/preamble.js12
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;