Jari, Looking at your code again... > const char * BibleObject::getVerse(const char *keyStr) > { > ListKey result; > VerseKey parserKey; > > result = parserKey.ParseVerseList(keyStr, parserKey, true); > result.Persist(true); > > mBible->SetKey(result);
this is illegal. You are telling your mBible to hold on to a locally scoped ListKey result. As soon as this method is complete, result goes out of scope and your mBible is holding a reference to invalid memory. You have a couple options to fix this. You can either move result out to mResult, or else book->setKey("gen.1.1") just before returning, to tell book to let go of its persistent key just before it goes out of scope. Hope this helps, -Troy. > > char* returnBuffer = Con::getReturnBuffer(2024); > *returnBuffer = 0; > U32 numCharsInBuffer = 0; > > for(*mBible = TOP; !mBible->Error(); (*mBible)++) { > const char *ns = mBible->StripText(); > U32 strLength = dStrlen(ns); > if(numCharsInBuffer + strLength >= 2024) { > // Verse string was too long and was truncated > break; > } > > dStrcat(returnBuffer,ns); > numCharsInBuffer += strLength; > > } > > return returnBuffer; > } > > > As you can see the result's length is limited. But of course I could and > should use something like std::string and return that but I just wanted to > make this in the right way. > > > >> Hope this helps. Glad you're making progress. >> > > It sure does! Thanks. > > It's alright if I can't get a perfect solution for this now that I do have a > code that works. > > > > > May God bless you too Troy. > > Jari. > > >> Blessings! >> -Troy. >> >> >> >> Jari Strand wrote: >>> Troy, >>> thank you for the example, I was finally able to test it and it works >> good. >>> But I have one problem, you see when I used to select only one verse I >> could >>> return the string that was returned from RenderText() or StripText() but >> now >>> that you have to loop in the end in order to get all the strings you >> can't >>> just simply return the results from a function. So is there some other >> way >>> for this so that I don't have to create a return buffer my self? >>> Maybe the loop isn't required if you select verse from a one range and >> not >>> from two or more like in the example? >>> >>> Thanks. >>> >>> >>> Jari. >>> >>>> From: "Troy A. Griffitts" <[EMAIL PROTECTED]> >>>> Reply-To: SWORD Developers' Collaboration Forum >> <sword-devel@crosswire.org> >>>> To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org> >>>> Subject: Re: [sword-devel] How do you select verses from a range? >>>> Date: Sun, 10 Dec 2006 13:58:47 -0700 >>>> >>>> Jari, >>>> I've added a new example for you: >>>> >>>> >> http://crosswire.org/svn/sword/trunk/examples/cmdline/verserangeparse.cpp >>>> Please let me know if this does not answer your question. >>>> >>>> -Troy. >>>> >>>> >>>> >>>> Jari Strand wrote: >>>>> Hi, is there example showing how to select verses within a range? i >>>> think >>>>> there was some example but I cannot find it anymore. >>>>> >>>>> I only know how to select one verse using setKey("Mat 2:10"); >>>>> >>>>> Thanks! >>>>> >>>>> _________________________________________________________________ >>>>> FREE pop-up blocking with the new MSN Toolbar - get it now! >>>>> http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/ >>>>> >>>>> >>>>> _______________________________________________ >>>>> sword-devel mailing list: sword-devel@crosswire.org >>>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>>> Instructions to unsubscribe/change your settings at above page >>>> _______________________________________________ >>>> sword-devel mailing list: sword-devel@crosswire.org >>>> http://www.crosswire.org/mailman/listinfo/sword-devel >>>> Instructions to unsubscribe/change your settings at above page >>> _________________________________________________________________ >>> Express yourself instantly with MSN Messenger! Download today it's FREE! >>> http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ >>> >>> >>> _______________________________________________ >>> sword-devel mailing list: sword-devel@crosswire.org >>> http://www.crosswire.org/mailman/listinfo/sword-devel >>> Instructions to unsubscribe/change your settings at above page >> >> _______________________________________________ >> sword-devel mailing list: sword-devel@crosswire.org >> http://www.crosswire.org/mailman/listinfo/sword-devel >> Instructions to unsubscribe/change your settings at above page > > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ > > > _______________________________________________ > sword-devel mailing list: sword-devel@crosswire.org > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page