From 53e02510f14a4ed91d1ef5f194be564a83e05fb4 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 22 Apr 2017 15:46:01 +0100 Subject: Handle complex fields that do not have a "separate" fldChar --- lib/docx/body-reader.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib') 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(); -- cgit v1.2.3