diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jsifier.js | 5 | ||||
-rw-r--r-- | src/library.js | 4 | ||||
-rw-r--r-- | src/shell.html | 1 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index b54aace3..5ad1573b 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -921,13 +921,16 @@ function JSify(data, functionsOnly, givenFunctions) { }); var ret = ''; var first = true; + var signedIdent = makeSignOp(item.ident, item.type, 're'); // we need to standardize for purpose of comparison for (var targetLabel in targetLabels) { if (!first) { ret += 'else '; } else { first = false; } - ret += 'if (' + targetLabels[targetLabel].map(function(value) { return makeComparison(item.ident, value, item.type) }).join(' || ') + ') {\n'; + ret += 'if (' + targetLabels[targetLabel].map(function(value) { + return makeComparison(signedIdent, makeSignOp(value, item.type, 're'), item.type) + }).join(' || ') + ') {\n'; ret += ' ' + getPhiSetsForLabel(phiSets, targetLabel) + makeBranch(targetLabel, item.currLabelId || null) + '\n'; ret += '}\n'; } diff --git a/src/library.js b/src/library.js index 74a8a0ac..86897f11 100644 --- a/src/library.js +++ b/src/library.js @@ -219,8 +219,8 @@ LibraryManager.library = { // Creates a file record from existing data. createDataFile: function(parent, name, data, canRead, canWrite) { if (typeof data === 'string') { - var dataArray = []; - for (var i = 0; i < data.length; i++) dataArray.push(data.charCodeAt(i)); + var dataArray = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) dataArray[i] = data.charCodeAt(i); data = dataArray; } var properties = {isDevice: false, contents: data}; diff --git a/src/shell.html b/src/shell.html index a41086b9..2f34ace3 100644 --- a/src/shell.html +++ b/src/shell.html @@ -19,6 +19,7 @@ print: (function() { var element = document.getElementById('output'); return function(text) { + text = text.replace(/&/g, "&"); text = text.replace(/</g, "<"); text = text.replace(/>/g, ">"); text = text.replace('\n', '<br>', 'g'); |