[sword-devel] BibleTime indexing problem
Gary Holmlund
gary.holmlund at gmail.com
Mon Feb 27 22:39:29 MST 2012
On 02/27/2012 08:30 PM, Greg Hellings wrote:
> On Mon, Feb 27, 2012 at 10:24 PM, Matthew Talbert<ransom1982 at gmail.com> wrote:
>> On Mon, Feb 27, 2012 at 11:05 PM, Gary Holmlund<gary.holmlund at gmail.com> wrote:
>>>
>>> I am investigating why the searching in BibleTime for the HunKar Bible
>>> begins
>>> Tracing down through sword "book" is set to 39 in
>>> sword:VerseKey::Normalize.
>>> Here is the call stack from setPosition down to Normalize:
>>> book is set to 39 by the following code in sword:VerseKey::Normalize
>>>
>>> if (book< 1) {
>>> if (--testament> 0) {
>>> book += BMAX[testament-1]; // versekey.cpp line 1274 ::Normalize
>>> }
>>> continue;
>>> }
>>
>> I don't think you should be using Normalize here. Normalize should be
>> used for user input, which could be incorrect, so it will turn out of
>> range verses (for example) into real verses. So if Normalize is doing
>> something in this case, I think it means the rest of your code is
>> wrong.
> If I'm reading the stack trace correctly, BibleTime is calling
> setPosition() which in turn calls many other things down the stack
> until setBook() calls Normalize(). It does not appear that BibleTime
> is invoking Normalize().
>
> The issue appears to be arising, if Gary's analysis is correct, in the
> handling of the special key value "[Testament Heading]". Perhaps the
> presence or absence of such a foreward in the HunKar Bible and similar
> are what is generating this problem in BibleTime?
>
> --Greg
Greg,
Yes, I believe that HunKar must have a "[Testament Heading]" and this
is possibly a special case that many other modules don't have. If I set
the parameter to "1" on versekey.cpp line 522 the indexing of the book
works fine.
if ((!strncmp(buf, "[ Testament ", 12)) &&
(isdigit(buf[12])) &&
(!strcmp(buf+13, " Heading ]"))) {
curKey->Verse(0);
curKey->Chapter(0);
curKey->Book(0); // versekey.cpp line 522 ::ParseVerseList
Gary
More information about the sword-devel
mailing list