diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/docx/body-reader.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/docx/body-reader.js b/lib/docx/body-reader.js index 0bdd2a0..dd76c5c 100644 --- a/lib/docx/body-reader.js +++ b/lib/docx/body-reader.js @@ -99,15 +99,19 @@ function BodyReader(options) { return elementResultWithMessages({styleId: styleId, name: name}, messages); } + var unknownComplexField = {type: "unknown"}; + function readFldChar(element) { var type = element.attributes["w:fldCharType"]; if (type === "begin") { + complexFieldStack.push(unknownComplexField); currentInstrText = []; } else if (type === "end") { complexFieldStack.pop(); } else if (type === "separate") { var href = parseHyperlinkFieldCode(currentInstrText.join('')); - var complexField = href === null ? {type: "unknown"} : {type: "hyperlink", href: href}; + var complexField = href === null ? unknownComplexField : {type: "hyperlink", href: href}; + complexFieldStack.pop(); complexFieldStack.push(complexField); } return emptyResult(); |
