aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-09-25 20:57:52 -0700
committeralon@honor <none@none>2010-09-25 20:57:52 -0700
commit736dac5109a9899a5a72f12f68d9544cb2b8781b (patch)
tree03bd06b6d7d7b91bf1b1db7a023d5a342380b54b /src
parentb94c061e122f155cc5c1262a1bb470cb49ee04b4 (diff)
fix for arrays of arrays +test
Diffstat (limited to 'src')
-rw-r--r--src/jsifier.js3
-rw-r--r--src/preamble.js5
2 files changed, 7 insertions, 1 deletions
diff --git a/src/jsifier.js b/src/jsifier.js
index 381b4cf7..8553676c 100644
--- a/src/jsifier.js
+++ b/src/jsifier.js
@@ -126,7 +126,8 @@ function JSify(data) {
var type = segment[0].text;
return '[' + alignStruct(handleSegments(segment[1].tokens), type).join(', ') + ']';
} else if (segment[1].type == '[') {
- return '[' + handleSegments(segment[1].item[0].tokens).join(', ') + ']'; // XXX alignStruct?
+ var type = segment[0].text;
+ return '[' + alignStruct(handleSegments(segment[1].item[0].tokens), type).join(', ') + ']';
} else if (segment.length == 2) {
return parseNumerical(toNiceIdent(segment[1].text));
} else {
diff --git a/src/preamble.js b/src/preamble.js
index f53f50ad..2260d08a 100644
--- a/src/preamble.js
+++ b/src/preamble.js
@@ -146,6 +146,11 @@ function __formatString() {
if (next == '.'.charCodeAt(0)) {
var limit = parseInt(String.fromCharCode(HEAP[textIndex+2]));
var dotIndex = argText.indexOf('.');
+ if (dotIndex == -1) {
+ dotIndex = argText.length;
+ argText += '.';
+ }
+ argText += '00000000000'; // padding
argText = argText.substr(0, dotIndex+1+limit);
textIndex += 2;
}