From 0df8989f7ad95d524b942fafabdc0e37f394969a Mon Sep 17 00:00:00 2001 From: David Majda Date: Wed, 6 Mar 2013 21:22:19 +0100 Subject: [PATCH] Fix buggy position computation Fixes GH-152. --- lib/compiler/passes/generate-javascript.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/compiler/passes/generate-javascript.js b/lib/compiler/passes/generate-javascript.js index 5d5c384..206ed15 100644 --- a/lib/compiler/passes/generate-javascript.js +++ b/lib/compiler/passes/generate-javascript.js @@ -836,10 +836,10 @@ module.exports = function(ast, options) { ' }', '', ' function peg$computePosDetails(pos) {', - ' function advance(details, pos) {', + ' function advance(details, startPos, endPos) {', ' var p, ch;', '', - ' for (p = 0; p < pos; p++) {', + ' for (p = startPos; p < endPos; p++) {', ' ch = input.charAt(p);', ' if (ch === "\\n") {', ' if (!details.seenCR) { details.line++; }', @@ -861,8 +861,8 @@ module.exports = function(ast, options) { ' peg$cachedPos = 0;', ' peg$cachedPosDetails = { line: 1, column: 1, seenCR: false };', ' }', + ' advance(peg$cachedPosDetails, peg$cachedPos, pos);', ' peg$cachedPos = pos;', - ' advance(peg$cachedPosDetails, peg$cachedPos);', ' }', '', ' return peg$cachedPosDetails;',