From: Sergey Vladimirov Date: Mon, 22 Aug 2011 11:07:06 +0000 (+0000) Subject: handling case with overlapping bookmarks and fields X-Git-Tag: REL_3_8_BETA4~1^2~11 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=fd7ecac05205738442626de215254f55399d23c4;p=poi.git handling case with overlapping bookmarks and fields git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1160201 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java b/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java index 6f35f1d6df..5da89f3afe 100644 --- a/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java +++ b/src/scratchpad/src/org/apache/poi/hwpf/converter/AbstractWordConverter.java @@ -81,6 +81,13 @@ public abstract class AbstractWordConverter { return start < o.start ? -1 : start == o.start ? 0 : 1; } + + @Override + public String toString() + { + return "Structure [" + start + "; " + end + "): " + + structure.toString(); + } } private static final byte BEL_MARK = 7; @@ -116,8 +123,9 @@ public abstract class AbstractWordConverter return; } - if ( ( another.start > structure.start && another.end <= structure.end ) - || ( another.start >= structure.start && another.end < structure.end ) ) + if ( ( structure.start < another.start && another.start < structure.end ) + || ( structure.start < another.start && another.end <= structure.end ) + || ( structure.start <= another.start && another.end < structure.end ) ) { iterator.remove(); continue;