1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
From: Markus Koschany <apo@debian.org>
Date: Sun, 3 Jan 2016 02:48:46 +0100
Subject: netbeans
This patch is Netbeans specific and must be applied in order to use the
html.parser module. The original .diff is located in html.parser/external.
Forwarded: not-needed
---
src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java | 3 +--
src/nu/validator/htmlparser/impl/Tokenizer.java | 9 +++++++++
src/nu/validator/htmlparser/impl/TreeBuilder.java | 4 ++--
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java b/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
index 2612c14..95bc174 100644
--- a/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
+++ b/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java
@@ -336,8 +336,7 @@ public class ErrorReportingTokenizer extends Tokenizer {
@Override protected int transition(int from, int to, boolean reconsume,
int pos) throws SAXException {
if (transitionHandler != null) {
- transitionHandler.transition(from, to, reconsume,
- transitionBaseOffset + pos);
+ transitionHandler.transition(from, to, reconsume, currentBufferGlobalOffset + pos);
}
return to;
}
diff --git a/src/nu/validator/htmlparser/impl/Tokenizer.java b/src/nu/validator/htmlparser/impl/Tokenizer.java
index d21ac9d..f676aca 100755
--- a/src/nu/validator/htmlparser/impl/Tokenizer.java
+++ b/src/nu/validator/htmlparser/impl/Tokenizer.java
@@ -513,6 +513,9 @@ public class Tokenizer implements Locator {
// [NOCPP[
+ //holds the offset of the current buffer relative to the beginning of the input source
+ protected int currentBufferGlobalOffset;
+
protected LocatorImpl ampersandLocation;
public Tokenizer(TokenHandler tokenHandler, boolean newAttributesEachTime) {
@@ -1357,6 +1360,11 @@ public class Tokenizer implements Locator {
} else {
buffer.setStart(pos + 1);
}
+
+ if(!buffer.hasMore()) {
+ currentBufferGlobalOffset += buffer.getEnd();
+ }
+
return lastCR;
}
@@ -6790,6 +6798,7 @@ public class Tokenizer implements Locator {
}
// ]NOCPP]
resetToDataState();
+ currentBufferGlobalOffset = 0;
}
protected void errGarbageAfterLtSlash() throws SAXException {
diff --git a/src/nu/validator/htmlparser/impl/TreeBuilder.java b/src/nu/validator/htmlparser/impl/TreeBuilder.java
index 9bd40e1..2570728 100644
--- a/src/nu/validator/htmlparser/impl/TreeBuilder.java
+++ b/src/nu/validator/htmlparser/impl/TreeBuilder.java
@@ -1517,7 +1517,7 @@ public abstract class TreeBuilder<T> implements TokenHandler,
end();
}
- public final void startTag(ElementName elementName,
+ public void startTag(ElementName elementName,
HtmlAttributes attributes, boolean selfClosing) throws SAXException {
flushCharacters();
@@ -3140,7 +3140,7 @@ public abstract class TreeBuilder<T> implements TokenHandler,
}
}
- public final void endTag(ElementName elementName) throws SAXException {
+ public void endTag(ElementName elementName) throws SAXException {
flushCharacters();
needToDropLF = false;
int eltPos;
|