<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Troy,<div>Thanks for your reply!</div><div>DM</div><div><br></div><div><blockquote type="cite"><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">[dmsmith@host testsuite]$ ./runall.sh </span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">gbs_basic: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">greekaccents: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">ldr12n: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">listtest: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">osis_basic: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">osis_mod2zmod: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">osis_osis2modcipher: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">utf8basic: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">versekeytest: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">versemgrtest: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">verseparsing: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">verseparsing-utf8: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">vs2osisref: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">xmltag: PASSED.</span></p>
<p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><span style="font-variant-ligatures: no-common-ligatures">ALL PASSED!</span></p></blockquote><div><p style="margin: 0px; font-style: normal; font-variant-caps: normal; font-width: normal; font-size: 18px; line-height: normal; font-family: Menlo; font-size-adjust: none; font-kerning: auto; font-variant-alternates: normal; font-variant-ligatures: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-position: normal; font-variant-emoji: normal; font-feature-settings: normal; font-optical-sizing: auto; font-variation-settings: normal;"><br></p></div><div><br><blockquote type="cite"><div>On Jun 19, 2025, at 7:44 AM, Troy A. Griffitts <scribe@crosswire.org> wrote:</div><br class="Apple-interchange-newline"><div>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<div><p>DM,</p><p>Sorry for the late reply and thank you for tracking this down.
Yes! This looks like a reasonable solution. Please feel free to
commit if all the sword/tests/testsuite/run-all.sh returns no
problems with your change.</p><p>It's been a bit crazy these days and I haven't been able to keep
up with all the great stuff going on here.<br>
</p><p>Troy</p><p><br>
</p>
<div class="moz-cite-prefix">On 6/16/25 9:27 PM, DM Smith wrote:<br>
</div>
<blockquote type="cite" cite="mid:414DEB15-FDC0-4BFA-9F5E-298658F436CF@crosswire.org">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
Troy,
<div>In VerseKey::checkBounds()</div>
<div>
<div>void VerseKey::checkBounds() {</div>
<div><br>
</div>
<div> long i = getIndex();</div>
<div><br>
</div>
<div> initBounds();</div>
<div> if (i > upperBound) {</div>
<div> setIndex(upperBound);</div>
<div> i = getIndex();</div>
<div> error = KEYERR_OUTOFBOUNDS;</div>
<div> }</div>
<div> if (i < lowerBound) {</div>
<div> setIndex(lowerBound);</div>
<div> error = KEYERR_OUTOFBOUNDS;</div>
<div> }</div>
<div>}</div>
<div><br>
</div>
<div>i, upperBound and lowerBound are all -1, when working with
a chapter that is not in the book. This is good. The proc
getIndex() can’t compute the index since the chapter is not
known so it rightfully returns -1.</div>
<div><br>
</div>
<div>I think there should be a check in here like there is in
VerseKey.setIndex(int iindex).</div>
<div><br>
</div>
<div>So</div>
<div>
<div>void VerseKey::checkBounds() {</div>
<div><br>
</div>
<div> long i = getIndex();</div>
<div><br>
</div>
<div><b> // assert we're sane</b></div>
<div><b> if (i < 0) {</b></div>
<div><b> error = KEYERR_OUTOFBOUNDS;</b></div>
<div><b> return;</b></div>
<div><b> }</b></div>
</div>
<div><br>
</div>
<div>
<div> initBounds();</div>
<div> if (i > upperBound) {</div>
<div> setIndex(upperBound);</div>
<div> i = getIndex();</div>
<div> error = KEYERR_OUTOFBOUNDS;</div>
<div> }</div>
<div> if (i < lowerBound) {</div>
<div> setIndex(lowerBound);</div>
<div> error = KEYERR_OUTOFBOUNDS;</div>
<div> }</div>
<div>}</div>
<div><br>
</div>
<div>What do you think?</div>
<div><br>
</div>
<div>DM</div>
<div><br>
</div>
<blockquote type="cite">
<div>On Jun 15, 2025, at 8:11 AM, DM Smith
<a class="moz-txt-link-rfc2396E" href="mailto:dmsmith@crosswire.org"><dmsmith@crosswire.org></a> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div>Troy,<br>
<br>
I’ve narrowed it down to turning Auto Normalize off.<br>
<br>
In examples/cmdline/parseverselist.cpp, add
parser.setAutoNormalize(false) to see the error with
Gen.51.1. Note Gen.50.99 (last chapter with bad verse
number) works.<br>
<br>
DM<br>
<br>
<blockquote type="cite">On Jun 12, 2025, at 7:03 PM, DM
Smith <a class="moz-txt-link-rfc2396E" href="mailto:dmsmith@crosswire.org"><dmsmith@crosswire.org></a> wrote:<br>
<br>
Troy,<br>
<br>
I’m working on an infinite loop bug in osis2mod.<br>
<br>
I’ve narrowed it down to ListKey containing a verse
with a chapter which is beyond the end of a book.<br>
<br>
When this happens list.increment(1) never sets an
error.<br>
<br>
Simplest test case (bit incomplete):<br>
<br>
int i = 0;<br>
ListKey list = new ListKey();<br>
list.add(“Gen.51.1”);<br>
for (list = TOP; !list.popError(); list.increment(1))
{<br>
<span class="Apple-tab-span" style="white-space:pre"> </span>if
(i++ > 5) break;<br>
<span class="Apple-tab-span" style="white-space:pre"> </span>cout
<< i << list << endl;<br>
}<br>
<br>
If I change the verse reference to Gen.1.99 (valid
chapter, invalid verse), it works as expected.<br>
<br>
Can you figure out the problem?<br>
<br>
I’ve got a work around but I’d rather not do that.<br>
<br>
Thanks,<br>
<span class="Apple-tab-span" style="white-space:pre"> </span>DM<br>
<br>
_______________________________________________<br>
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel">http://crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at
above page<br>
</blockquote>
<br>
_______________________________________________<br>
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a><br>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel">http://crosswire.org/mailman/listinfo/sword-devel</a><br>
Instructions to unsubscribe/change your settings at
above page<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre wrap="" class="moz-quote-pre">_______________________________________________
sword-devel mailing list: <a class="moz-txt-link-abbreviated" href="mailto:sword-devel@crosswire.org">sword-devel@crosswire.org</a>
<a class="moz-txt-link-freetext" href="http://crosswire.org/mailman/listinfo/sword-devel">http://crosswire.org/mailman/listinfo/sword-devel</a>
Instructions to unsubscribe/change your settings at above page
</pre>
</blockquote>
</div>
_______________________________________________<br>sword-devel mailing list: sword-devel@crosswire.org<br>http://crosswire.org/mailman/listinfo/sword-devel<br>Instructions to unsubscribe/change your settings at above page<br></div></blockquote></div><br></div></body></html>