commit 8ef3e48983a3a873bcde93c364e318449f10216a Author: Daniel Swanson Date: Thu Jul 1 14:55:43 2021 -0500 off-by-one error in diff --git a/apertium/transfer.cc b/apertium/transfer.cc index 1c8f449..58a629c 100644 --- a/apertium/transfer.cc +++ b/apertium/transfer.cc @@ -200,7 +200,7 @@ Transfer::evalCachedString(xmlNode *element) case ti_get_case_from: if(checkIndex(element, ti.getPos(), lword)) { return StringUtils::copycase(word[ti.getPos()]->source(attr_items[ti.getContent()]), - evalString((xmlNode *) ti.getPointer())); + evalString(ti.getPointer())); } break; diff --git a/apertium/transfer_base.cc b/apertium/transfer_base.cc index 9feb672..2974716 100644 --- a/apertium/transfer_base.cc +++ b/apertium/transfer_base.cc @@ -198,7 +198,7 @@ TransferBase::evalString(xmlNode* element) } else if (!xmlStrcmp(element->name, (const xmlChar*) "b")) { processBlank(element); } else if (!xmlStrcmp(element->name, (const xmlChar*) "get-case-from")) { - int pos = atoi((const char*) element->properties->children->content); + int pos = atoi((const char*) element->properties->children->content) - 1; xmlNode* param = NULL; for (auto it : children(element)) { param = it;