<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" />
    <title>Sword API Questions / Proposal &gt;&gt; flatapi.cpp / flatapi.h</title>
  </head>
  <body dir="ltr">
    


        <meta content="text/html; charset=utf-8" http-equiv="CONTENT-TYPE" /><title></title><meta content="OpenOffice.org 2.4  (Linux)" name="GENERATOR" />
        
        
        <style type="text/css">
        &lt;!--
                @page { size: 21cm 29.7cm; margin: 2cm }
                P { margin-bottom: 0.21cm }
        --&gt;
        </style>

<p style="margin-bottom: 0.5cm;">I have been attempting to familiarise
myself with flatapi.cpp/h for a small in house project but have come
up with a few questions about the Sword API, particularly
flatapi.cpp/h.</p>
<p style="margin-bottom: 0.5cm;">1) The function
listkey_getVerselistIterator in flatapi currently accepts two
parameters but I fail to see the difference / dissimilarity between
the two parameters “char * list” and “char * key”? Could
someone please point me in the right direction? Thank you. <br /><br />2)
Is there any reason why the function listkey_getVerselistIterator in
flatapi.h does not accept a boolean flag for normalising a bible
reference such as &quot;John 6:1,12-16&quot;?<br />The current call to
listkey_getVerselistIterator produces a “verses” array containing
[John 6:1, John 6:12] and not [John 6:1, John 6:12, John 6:13, John
6:14, John 6:15, John 6:16] as would be expected.<br /><br />If there is
no limiting factors I propose an update to flatapi.cpp and flatapi.h
as set out below.</p>
<p>=== flatapi.h ===========================================<br /><i><b>//
Existing   //</b></i> SWHANDLE SWDLLEXPORT
listkey_getVerselistIterator(const char * list, const char * key)<br /><i><u><b>//
Proposed //</b></u></i><u> SWHANDLE SWDLLEXPORT
listkey_getVerselistIterator(const char * list, const char * key</u><u><b>,
bool expandRange</b></u><u>);</u><br />=== flatapi.h
===========================================<br /><br />=== flatapi.cpp
=========================================<br /><i><b>// Existing  
//</b></i> SWHANDLE listkey_getVerselistIterator(const char * list,
const char * key)<br /><i><u><b>// Proposed //</b></u></i><u> SWHANDLE
listkey_getVerselistIterator(const char * list, const char * key</u><u><b>,
bool expandRange = false</b></u><u>) { </u><i><u><b>// set to false
by default to retain existing function call behaviour.</b></u></i><br />   
VerseKey versekey;<br />    static ListKey verses;<br /><br />   
versekey.setText(key);<br />    verses.ClearList();<br /><i><b>//
Existing   //</b></i> verses = versekey.ParseVerseList(list,
versekey);<br /><i><u><b>// Proposed //</b></u></i><u> verses =
versekey.ParseVerseList(list, versekey</u><u><b>, expandRange</b></u><u>);</u><br />   
return (SWHANDLE)&amp;verses;<br />}<br />=== flatapi.cpp
=========================================</p>
<p><br /><br />
</p>
<p>As I am new to this group if there is a more appropriate procedure
for presenting my proposal and having it incorporated in the Sword
project please let me know.</p>
<p>Any comments would be appreciated.</p>
<p>Regards<br />Simon</p>
<p><br /><br />
</p>

  <pre>--------------------------------------------------

Reverend Simon J Mackenzie &lt;simon.mackenzie@lca.org.au&gt;

LUTHERAN CHURCH OF AUSTRALIA
197 Archer Street,
North Adelaide,
South Australia,
AUSTRALIA, 5006
</pre>
</body>
</html>