diff options
author | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
---|---|---|
committer | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
commit | c9458897ebbb739d8db83c80e06512d8a612f743 (patch) | |
tree | f8c5381045887e34388cc6b26cfccc254bf766dc /doc/api-documentation/html/thmlosis_8cpp-source.html | |
download | sword-sf-cvs-c9458897ebbb739d8db83c80e06512d8a612f743.tar.gz |
*** empty log message ***
Diffstat (limited to 'doc/api-documentation/html/thmlosis_8cpp-source.html')
-rw-r--r-- | doc/api-documentation/html/thmlosis_8cpp-source.html | 344 |
1 files changed, 344 insertions, 0 deletions
diff --git a/doc/api-documentation/html/thmlosis_8cpp-source.html b/doc/api-documentation/html/thmlosis_8cpp-source.html new file mode 100644 index 0000000..1fdebd0 --- /dev/null +++ b/doc/api-documentation/html/thmlosis_8cpp-source.html @@ -0,0 +1,344 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>thmlosis.cpp Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.2.15 --> +<center> +<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center> +<hr><h1>thmlosis.cpp</h1><div class="fragment"><pre>00001 <font class="comment">/******************************************************************************</font> +00002 <font class="comment"> *</font> +00003 <font class="comment"> * thmlstrongs - SWFilter decendant to hide or show strongs number</font> +00004 <font class="comment"> * in a ThML module.</font> +00005 <font class="comment"> */</font> +00006 +00007 +00008 <font class="preprocessor">#include <stdlib.h></font> +00009 <font class="preprocessor">#include <stdio.h></font> +00010 <font class="preprocessor">#include <string.h></font> +00011 <font class="preprocessor">#include <thmlosis.h></font> +00012 <font class="preprocessor">#include <swmodule.h></font> +00013 <font class="preprocessor">#include <versekey.h></font> +00014 <font class="preprocessor">#ifndef __GNUC__</font> +00015 <font class="preprocessor"></font><font class="preprocessor">#else</font> +00016 <font class="preprocessor"></font><font class="preprocessor">#include <unixstr.h></font> +00017 <font class="preprocessor">#endif</font> +00018 <font class="preprocessor"></font> +00019 +00020 ThMLOSIS::ThMLOSIS() { +00021 } +00022 +00023 +00024 ThMLOSIS::~ThMLOSIS() { +00025 } +00026 +00027 +00028 <font class="keywordtype">char</font> ThMLOSIS::ProcessText(<font class="keywordtype">char</font> *text, <font class="keywordtype">int</font> maxlen, <font class="keyword">const</font> <a class="code" href="class_s_w_key.html">SWKey</a> *key, <font class="keyword">const</font> <a class="code" href="class_s_w_module.html">SWModule</a> *module) { +00029 +00030 <font class="keywordtype">char</font> *to, *from, token[2048]; <font class="comment">// cheese. Fix.</font> +00031 <font class="keywordtype">int</font> tokpos = 0; +00032 <font class="keywordtype">bool</font> intoken = <font class="keyword">false</font>; +00033 <font class="keywordtype">int</font> len; +00034 <font class="keywordtype">bool</font> lastspace = <font class="keyword">false</font>; +00035 <font class="keywordtype">int</font> word = 1; +00036 <font class="keywordtype">char</font> val[128]; +00037 <font class="keywordtype">char</font> buf[128]; +00038 <font class="keywordtype">char</font> wordstr[5]; +00039 <font class="keywordtype">char</font> *valto; +00040 <font class="keywordtype">char</font> *ch; +00041 <font class="keywordtype">char</font> *textStart, *textEnd; +00042 <font class="keywordtype">char</font> *wordStart, *wordEnd; +00043 <font class="keywordtype">bool</font> newText = <font class="keyword">false</font>; +00044 <font class="keywordtype">bool</font> newWord = <font class="keyword">false</font>; +00045 string tmp; +00046 <font class="keywordtype">bool</font> suspendTextPassThru = <font class="keyword">false</font>; +00047 <font class="keywordtype">bool</font> keepToken = <font class="keyword">false</font>; +00048 +00049 len = strlen(text) + 1; <font class="comment">// shift string to right of buffer</font> +00050 <font class="keywordflow">if</font> (len < maxlen) { +00051 memmove(&text[maxlen - len], text, len); +00052 from = &text[maxlen - len]; +00053 } +00054 <font class="keywordflow">else</font> from = text; +00055 +00056 textStart = from; +00057 wordStart = text; +00058 +00059 <font class="comment">// -------------------------------</font> +00060 +00061 <font class="keywordflow">for</font> (to = text; *from; from++) { +00062 <font class="keywordflow">if</font> (*from == <font class="charliteral">'<'</font>) { +00063 intoken = <font class="keyword">true</font>; +00064 tokpos = 0; +00065 token[0] = 0; +00066 token[1] = 0; +00067 token[2] = 0; +00068 textEnd = from-1; +00069 wordEnd = to; +00070 <font class="keywordflow">continue</font>; +00071 } +00072 <font class="keywordflow">if</font> (*from == <font class="charliteral">'>'</font>) { <font class="comment">// process tokens</font> +00073 intoken = <font class="keyword">false</font>; +00074 keepToken = <font class="keyword">false</font>; +00075 suspendTextPassThru = <font class="keyword">false</font>; +00076 newWord = <font class="keyword">true</font>; +00077 +00078 +00079 <font class="keywordflow">while</font> (wordStart < (text+maxlen)) { +00080 <font class="comment">// if (strchr(" ,;.?!()'\"", *wordStart))</font> +00081 <font class="keywordflow">if</font> (strchr(<font class="stringliteral">";,: .?!()'\""</font>, *wordStart)) +00082 wordStart++; +00083 <font class="keywordflow">else</font> <font class="keywordflow">break</font>; +00084 } +00085 <font class="keywordflow">while</font> (wordEnd > wordStart) { +00086 <font class="keywordflow">if</font> (strchr(<font class="stringliteral">" ,;:.?!()'\""</font>, *wordEnd)) +00087 wordEnd--; +00088 <font class="keywordflow">else</font> <font class="keywordflow">break</font>; +00089 } +00090 +00091 <font class="comment">// Scripture Reference</font> +00092 <font class="keywordflow">if</font> (!strncmp(token, <font class="stringliteral">"scripRef"</font>, 8)) { +00093 <font class="comment">// pushString(buf, "<reference work=\"Bible.KJV\" reference=\"");</font> +00094 suspendTextPassThru = <font class="keyword">true</font>; +00095 newText = <font class="keyword">true</font>; +00096 } +00097 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (!strncmp(token, <font class="stringliteral">"/scripRef"</font>, 9)) { +00098 tmp = <font class="stringliteral">""</font>; +00099 tmp.append(textStart, (<font class="keywordtype">int</font>)(textEnd - textStart)+1); +00100 pushString(&to, convertToOSIS(tmp.c_str(), key)); +00101 suspendTextPassThru = <font class="keyword">false</font>; +00102 } +00103 +00104 <font class="comment">// Footnote</font> +00105 <font class="keywordflow">if</font> (!strcmp(token, <font class="stringliteral">"note"</font>)) { +00106 <font class="comment">// pushString(buf, "<reference work=\"Bible.KJV\" reference=\"");</font> +00107 suspendTextPassThru = <font class="keyword">true</font>; +00108 newText = <font class="keyword">true</font>; +00109 } +00110 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (!strcmp(token, <font class="stringliteral">"/note"</font>)) { +00111 tmp = <font class="stringliteral">"<note type=\"x-StudyNote\"><notePart type=\"x-MainText\">"</font>; +00112 tmp.append(textStart, (<font class="keywordtype">int</font>)(textEnd - textStart)+1); +00113 tmp += <font class="stringliteral">"</notePart></note>"</font>; +00114 pushString(&to, tmp.c_str()); +00115 suspendTextPassThru = <font class="keyword">false</font>; +00116 } +00117 +00118 <font class="comment">// Figure</font> +00119 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (!strncmp(token, <font class="stringliteral">"img "</font>, 4)) { +00120 <font class="keyword">const</font> <font class="keywordtype">char</font> *src = strstr(token, <font class="stringliteral">"src"</font>); +00121 <font class="keywordflow">if</font> (!src) <font class="comment">// assert we have a src attribute</font> +00122 <font class="keywordflow">return</font> <font class="keyword">false</font>; +00123 +00124 pushString(&to, <font class="stringliteral">"<figure src=\""</font>); +00125 <font class="keyword">const</font> <font class="keywordtype">char</font> *c; +00126 <font class="keywordflow">for</font> (c = src;((*c) && (*c != <font class="charliteral">'"'</font>)); c++); +00127 +00128 <font class="comment">/* uncomment for SWORD absolute path logic</font> +00129 <font class="comment"> if (*(c+1) == '/') {</font> +00130 <font class="comment"> pushString(buf, "file:");</font> +00131 <font class="comment"> pushString(buf, module->getConfigEntry("AbsoluteDataPath"));</font> +00132 <font class="comment"> if (*((*buf)-1) == '/')</font> +00133 <font class="comment"> c++; // skip '/'</font> +00134 <font class="comment"> }</font> +00135 <font class="comment"> end of uncomment for asolute path logic */</font> +00136 +00137 <font class="keywordflow">for</font> (c++;((*c) && (*c != <font class="charliteral">'"'</font>)); c++) +00138 *to++ = *c; +00139 +00140 pushString(&to, <font class="stringliteral">"\" />"</font>); +00141 <font class="keywordflow">return</font> <font class="keyword">true</font>; +00142 } +00143 +00144 <font class="comment">// Strongs numbers</font> +00145 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (!strnicmp(token, <font class="stringliteral">"sync type=\"Strongs\" "</font>, 20)) { <font class="comment">// Strongs</font> +00146 <font class="keywordflow">if</font> (module-><a class="code" href="class_s_w_module.html#a64">isProcessEntryAttributes</a>()) { +00147 valto = val; +00148 <font class="keywordflow">for</font> (<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> i = 27; token[i] != <font class="charliteral">'\"'</font> && i < 150; i++) +00149 *valto++ = token[i]; +00150 *valto = 0; +00151 <font class="keywordflow">if</font> (atoi((!isdigit(*val))?val+1:val) < 5627) { +00152 <font class="comment">// normal strongs number</font> +00153 strstrip(val); +00154 sprintf(buf, <font class="stringliteral">"<w lemma=\"x-Strong:%s\">"</font>, val); +00155 memmove(wordStart+strlen(buf), wordStart, (to-wordStart)+1); +00156 memcpy(wordStart, buf, strlen(buf)); +00157 to+=strlen(buf); +00158 pushString(&to, <font class="stringliteral">"</w>"</font>); +00159 module-><a class="code" href="class_s_w_module.html#a62">getEntryAttributes</a>()[<font class="stringliteral">"Word"</font>][wordstr][<font class="stringliteral">"Strongs"</font>] = val; +00160 <font class="comment">// tmp = "";</font> +00161 <font class="comment">// tmp.append(textStart, (int)(wordEnd - wordStart));</font> +00162 <font class="comment">// module->getEntryAttributes()["Word"][wordstr]["Text"] = tmp;</font> +00163 } +00164 <font class="keywordflow">else</font> { +00165 <font class="comment">// verb morph</font> +00166 sprintf(wordstr, <font class="stringliteral">"%03d"</font>, word-1); +00167 module-><a class="code" href="class_s_w_module.html#a62">getEntryAttributes</a>()[<font class="stringliteral">"Word"</font>][wordstr][<font class="stringliteral">"Morph"</font>] = val; +00168 } +00169 } +00170 } +00171 +00172 <font class="comment">// Morphology</font> +00173 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (!strncmp(token, <font class="stringliteral">"sync type=\"morph\""</font>, 17)) { +00174 <font class="keywordflow">for</font> (ch = token+17; *ch; ch++) { +00175 <font class="keywordflow">if</font> (!strncmp(ch, <font class="stringliteral">"class=\""</font>, 7)) { +00176 valto = val; +00177 <font class="keywordflow">for</font> (<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> i = 7; ch[i] != <font class="charliteral">'\"'</font> && i < 127; i++) +00178 *valto++ = ch[i]; +00179 *valto = 0; +00180 sprintf(wordstr, <font class="stringliteral">"%03d"</font>, word-1); +00181 strstrip(val); +00182 module-><a class="code" href="class_s_w_module.html#a62">getEntryAttributes</a>()[<font class="stringliteral">"Word"</font>][wordstr][<font class="stringliteral">"MorphClass"</font>] = val; +00183 } +00184 <font class="keywordflow">if</font> (!strncmp(ch, <font class="stringliteral">"value=\""</font>, 7)) { +00185 valto = val; +00186 <font class="keywordflow">for</font> (<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> i = 7; ch[i] != <font class="charliteral">'\"'</font> && i < 127; i++) +00187 *valto++ = ch[i]; +00188 *valto = 0; +00189 sprintf(wordstr, <font class="stringliteral">"%03d"</font>, word-1); +00190 strstrip(val); +00191 module-><a class="code" href="class_s_w_module.html#a62">getEntryAttributes</a>()[<font class="stringliteral">"Word"</font>][wordstr][<font class="stringliteral">"Morph"</font>] = val; +00192 } +00193 } +00194 <font class="keywordflow">if</font> (!strncmp(wordStart, <font class="stringliteral">"<w "</font>, 3)) { +00195 +00196 <font class="keyword">const</font> <font class="keywordtype">char</font> *cls = <font class="stringliteral">"Unknown"</font>, *morph; +00197 +00198 <font class="keywordflow">if</font> (module-><a class="code" href="class_s_w_module.html#a62">getEntryAttributes</a>()[<font class="stringliteral">"Word"</font>][wordstr][<font class="stringliteral">"Morph"</font>].size() > 0) { +00199 <font class="keywordflow">if</font> (module-><a class="code" href="class_s_w_module.html#a62">getEntryAttributes</a>()[<font class="stringliteral">"Word"</font>][wordstr][<font class="stringliteral">"MorphClass"</font>].size() > 0) +00200 cls = module-><a class="code" href="class_s_w_module.html#a62">getEntryAttributes</a>()[<font class="stringliteral">"Word"</font>][wordstr][<font class="stringliteral">"MorphClass"</font>].c_str(); +00201 morph = module-><a class="code" href="class_s_w_module.html#a62">getEntryAttributes</a>()[<font class="stringliteral">"Word"</font>][wordstr][<font class="stringliteral">"Morph"</font>].c_str(); +00202 +00203 sprintf(buf, <font class="stringliteral">"morph=\"x-%s:%s\" "</font>, cls, morph); +00204 memmove(wordStart+3+strlen(buf), wordStart+3, (to-wordStart)+1); +00205 memcpy(wordStart+3, buf, strlen(buf)); +00206 to+=strlen(buf); +00207 } +00208 } +00209 } +00210 +00211 <font class="keywordflow">if</font> (!keepToken) { <font class="comment">// if we don't want strongs</font> +00212 <font class="keywordflow">if</font> (strchr(<font class="stringliteral">" ,:;.?!()'\""</font>, from[1])) { +00213 <font class="keywordflow">if</font> (lastspace) +00214 to--; +00215 } +00216 <font class="keywordflow">if</font> (newText) {textStart = from+1; newText = <font class="keyword">false</font>; } +00217 <font class="comment">// if (newWord) {wordStart = to; newWord = false; }</font> +00218 <font class="keywordflow">continue</font>; +00219 } +00220 <font class="comment">// if not a strongs token, keep token in text</font> +00221 *to++ = <font class="charliteral">'<'</font>; +00222 <font class="keywordflow">for</font> (<font class="keywordtype">char</font> *tok = token; *tok; tok++) +00223 *to++ = *tok; +00224 *to++ = <font class="charliteral">'>'</font>; +00225 <font class="keywordflow">if</font> (newText) {textStart = to; newWord = <font class="keyword">false</font>; } +00226 <font class="comment">// if (newWord) {wordStart = to; newWord = false; }</font> +00227 <font class="keywordflow">continue</font>; +00228 } +00229 <font class="keywordflow">if</font> (intoken) { +00230 <font class="keywordflow">if</font> ((tokpos < 2045) && ((*from != 10)&&(*from != 13))) { +00231 token[tokpos++] = *from; +00232 token[tokpos+2] = 0; +00233 } +00234 } +00235 <font class="keywordflow">else</font> { +00236 <font class="keywordflow">if</font> (newWord && (*from != <font class="charliteral">' '</font>)) {wordStart = to; newWord = <font class="keyword">false</font>; memset(to, 0, 10); } +00237 <font class="keywordflow">if</font> (!suspendTextPassThru) { +00238 *to++ = *from; +00239 lastspace = (*from == <font class="charliteral">' '</font>); +00240 } +00241 } +00242 } +00243 +00244 <a class="code" href="class_verse_key.html">VerseKey</a> *vkey = SWDYNAMIC_CAST(<a class="code" href="class_verse_key.html">VerseKey</a>, key); +00245 <font class="keywordflow">if</font> (vkey) { +00246 <font class="keywordtype">char</font> ref[254]; +00247 <font class="keywordflow">if</font> (vkey-><a class="code" href="class_verse_key.html#a25">Verse</a>()) +00248 sprintf(ref, <font class="stringliteral">"<verseStart ref=\"%s\" />"</font>, vkey-><a class="code" href="class_verse_key.html#a36">getOSISRef</a>()); +00249 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (vkey-><a class="code" href="class_verse_key.html#a24">Chapter</a>()) +00250 sprintf(ref, <font class="stringliteral">"<chapterStart ref=\"%s\" />"</font>, vkey-><a class="code" href="class_verse_key.html#a36">getOSISRef</a>()); +00251 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (vkey-><a class="code" href="class_verse_key.html#a23">Book</a>()) +00252 sprintf(ref, <font class="stringliteral">"<bookStart ref=\"%s\" />"</font>, vkey-><a class="code" href="class_verse_key.html#a36">getOSISRef</a>()); +00253 <font class="keywordflow">else</font> *ref = 0; +00254 <font class="keywordflow">if</font> (*ref) { +00255 memmove(text+strlen(ref), text, maxlen-strlen(ref)-1); +00256 memcpy(text, ref, strlen(ref)); +00257 to+=strlen(ref); +00258 <font class="keywordflow">if</font> (vkey-><a class="code" href="class_verse_key.html#a25">Verse</a>()) { +00259 <a class="code" href="class_verse_key.html">VerseKey</a> tmp; +00260 tmp = *vkey; +00261 tmp.<a class="code" href="class_verse_key.html#a31">AutoNormalize</a>(0); +00262 tmp.<a class="code" href="class_verse_key.html#a32">Headings</a>(1); +00263 sprintf(ref, <font class="stringliteral">"<verseEnd ref=\"%s\" />"</font>, vkey-><a class="code" href="class_verse_key.html#a36">getOSISRef</a>()); +00264 pushString(&to, ref); +00265 tmp = MAXVERSE; +00266 <font class="keywordflow">if</font> (*vkey == tmp) { +00267 tmp.<a class="code" href="class_verse_key.html#a25">Verse</a>(0); +00268 sprintf(ref, <font class="stringliteral">"<chapterEnd ref=\"%s\" />"</font>, tmp.<a class="code" href="class_verse_key.html#a36">getOSISRef</a>()); +00269 pushString(&to, ref); +00270 tmp = MAXCHAPTER; +00271 tmp = MAXVERSE; +00272 <font class="keywordflow">if</font> (*vkey == tmp) { +00273 tmp.<a class="code" href="class_verse_key.html#a24">Chapter</a>(0); +00274 tmp.<a class="code" href="class_verse_key.html#a25">Verse</a>(0); +00275 sprintf(ref, <font class="stringliteral">"<bookEnd ref=\"%s\" />"</font>, tmp.<a class="code" href="class_verse_key.html#a36">getOSISRef</a>()); +00276 pushString(&to, ref); +00277 } +00278 } +00279 } +00280 +00281 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (vkey-><a class="code" href="class_verse_key.html#a24">Chapter</a>()) +00282 sprintf(ref, <font class="stringliteral">"<chapterStart ref=\"%s\" />"</font>, vkey-><a class="code" href="class_verse_key.html#a36">getOSISRef</a>()); +00283 <font class="keywordflow">else</font> sprintf(ref, <font class="stringliteral">"<bookStart ref=\"%s\" />"</font>, vkey-><a class="code" href="class_verse_key.html#a36">getOSISRef</a>()); +00284 } +00285 } +00286 *to++ = 0; +00287 *to = 0; +00288 <font class="keywordflow">return</font> 0; +00289 } +00290 +00291 +00292 <font class="keywordtype">void</font> ThMLOSIS::pushString(<font class="keywordtype">char</font> **buf, <font class="keyword">const</font> <font class="keywordtype">char</font> *format, ...) { +00293 va_list argptr; +00294 +00295 va_start(argptr, format); +00296 *buf += vsprintf(*buf, format, argptr); +00297 va_end(argptr); +00298 +00299 <font class="comment">// *buf += strlen(*buf);</font> +00300 } +00301 +00302 +00303 <font class="keyword">const</font> <font class="keywordtype">char</font> *ThMLOSIS::convertToOSIS(<font class="keyword">const</font> <font class="keywordtype">char</font> *inRef, <font class="keyword">const</font> <a class="code" href="class_s_w_key.html">SWKey</a> *key) { +00304 <font class="keyword">static</font> string outRef; +00305 +00306 outRef = <font class="stringliteral">""</font>; +00307 +00308 <a class="code" href="class_verse_key.html">VerseKey</a> defLanguage; +00309 <a class="code" href="class_list_key.html">ListKey</a> verses = defLanguage.<a class="code" href="class_verse_key.html#a37">ParseVerseList</a>(inRef, (*key), <font class="keyword">true</font>); +00310 <font class="keyword">const</font> <font class="keywordtype">char</font> *startFrag = inRef; +00311 <font class="keywordflow">for</font> (<font class="keywordtype">int</font> i = 0; i < verses.<a class="code" href="class_list_key.html#a5">Count</a>(); i++) { +00312 <a class="code" href="class_verse_key.html">VerseKey</a> *element = SWDYNAMIC_CAST(<a class="code" href="class_verse_key.html">VerseKey</a>, verses.<a class="code" href="class_list_key.html#a8">GetElement</a>(i)); +00313 <font class="keywordtype">char</font> buf[5120]; +00314 <font class="keywordtype">char</font> frag[800]; +00315 <font class="keywordflow">if</font> (element) { +00316 memmove(frag, startFrag, ((<font class="keyword">const</font> <font class="keywordtype">char</font> *)element-><a class="code" href="class_s_w_key.html#m0">userData</a> - startFrag) + 1); +00317 frag[((<font class="keyword">const</font> <font class="keywordtype">char</font> *)element-><a class="code" href="class_s_w_key.html#m0">userData</a> - startFrag) + 1] = 0; +00318 startFrag = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)element-><a class="code" href="class_s_w_key.html#m0">userData</a> + 1; +00319 sprintf(buf, <font class="stringliteral">"<reference refStart=\"KJV:%s\" refEnd=\"%s\">%s</reference>"</font>, element-><a class="code" href="class_verse_key.html#a5">LowerBound</a>().<a class="code" href="class_verse_key.html#a36">getOSISRef</a>(), element-><a class="code" href="class_verse_key.html#a6">UpperBound</a>().<a class="code" href="class_verse_key.html#a36">getOSISRef</a>(), frag); +00320 } +00321 <font class="keywordflow">else</font> { +00322 memmove(frag, startFrag, ((<font class="keyword">const</font> <font class="keywordtype">char</font> *)verses.<a class="code" href="class_list_key.html#a8">GetElement</a>(i)-><a class="code" href="class_s_w_key.html#m0">userData</a> - startFrag) + 1); +00323 frag[((<font class="keyword">const</font> <font class="keywordtype">char</font> *)verses.<a class="code" href="class_list_key.html#a8">GetElement</a>(i)-><a class="code" href="class_s_w_key.html#m0">userData</a> - startFrag) + 1] = 0; +00324 startFrag = (<font class="keyword">const</font> <font class="keywordtype">char</font> *)verses.<a class="code" href="class_list_key.html#a8">GetElement</a>(i)-><a class="code" href="class_s_w_key.html#m0">userData</a> + 1; +00325 sprintf(buf, <font class="stringliteral">"<reference refStart=\"KJV:%s\">%s</reference>"</font>, <a class="code" href="class_verse_key.html">VerseKey</a>(*verses.<a class="code" href="class_list_key.html#a8">GetElement</a>(i)).getOSISRef(), frag); +00326 } +00327 outRef+=buf; +00328 } +00329 <font class="keywordflow">return</font> outRef.c_str(); +00330 } +</pre></div><hr><address align="right"><small>Generated on Thu Jun 20 22:13:01 2002 for The Sword Project by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 +width=110 height=53></a>1.2.15 </small></address> +</body> +</html> |