diff options
Diffstat (limited to 'src/modules/filters/osislemma.cpp')
-rw-r--r-- | src/modules/filters/osislemma.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/modules/filters/osislemma.cpp b/src/modules/filters/osislemma.cpp index cf5d8f4..12881ff 100644 --- a/src/modules/filters/osislemma.cpp +++ b/src/modules/filters/osislemma.cpp @@ -3,7 +3,7 @@ * osislemma.cpp - SWFilter descendant to hide or show lemmata * in a OSIS module * - * $Id: osislemma.cpp 2980 2013-09-14 21:51:47Z scribe $ + * $Id: osislemma.cpp 3483 2017-06-25 15:19:34Z scribe $ * * Copyright 2003-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society @@ -67,6 +67,15 @@ char OSISLemma::processText(SWBuf &text, const SWKey *key, const SWModule *modul intoken = false; if (token.startsWith("w ")) { // Word XMLTag wtag(token); + + // always save off lemma if we haven't yet + if (!wtag.getAttribute("savlm")) { + const char *l = wtag.getAttribute("lemma"); + if (l) { + wtag.setAttribute("savlm", l); + } + } + int count = wtag.getAttributePartCount("lemma", ' '); for (int i = 0; i < count; i++) { SWBuf a = wtag.getAttribute("lemma", i, ' '); @@ -78,6 +87,7 @@ char OSISLemma::processText(SWBuf &text, const SWKey *key, const SWModule *modul count--; } } + token = wtag; token.trim(); // drop <> |