aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2017-04-22 15:53:54 +0100
committerMichael Williamson <mike@zwobble.org>2017-04-22 15:54:55 +0100
commit2d5ab06e462f2db69e64bd1dcbba98e8752fd146 (patch)
treec1cd4cf79069ebc0009f788071b405bf3d4f7f77 /src/main/java/org/zwobble
parentd078ad2ad09fb504b46f07b75df4fe365a59c6a4 (diff)
Handle complex fields that do not have a "separate" fldChar.
Diffstat (limited to 'src/main/java/org/zwobble')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
index 2e0bdc6..2097822 100644
--- a/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
+++ b/src/main/java/org/zwobble/mammoth/internal/docx/StatefulBodyXmlReader.java
@@ -245,6 +245,7 @@ class StatefulBodyXmlReader {
private ReadResult readFieldChar(XmlElement element) {
String type = element.getAttributeOrNone("w:fldCharType").orElse("");
if (type.equals("begin")) {
+ complexFieldStack.add(ComplexField.UNKNOWN);
currentInstrText.setLength(0);
} else if (type.equals("end")) {
complexFieldStack.remove();
@@ -253,6 +254,7 @@ class StatefulBodyXmlReader {
ComplexField complexField = parseHyperlinkFieldCode(instrText)
.map(href -> ComplexField.hyperlink(href))
.orElse(ComplexField.UNKNOWN);
+ complexFieldStack.remove();
complexFieldStack.add(complexField);
}
return ReadResult.EMPTY_SUCCESS;