Awesome Lyndon! Ha! What a silly mistake (local redeclaration of variable). Yeah, I originally used an SWModule *, but changed it because the syntax is cleaner for stuff like the for loop:
for ((*bible) = TOP; !bible->Error(); (*bible)++) for (bible = TOP; !bible->Error(); bible++) But you have a very good point about error checking. Thanks for the patch! Applied. -Troy. Lyndon Drake wrote: > On Sun, 2007-09-02 at 21:41 +0100, Lyndon Drake wrote: >> On Sun, 2007-09-02 at 13:12 -0700, Troy A. Griffitts wrote: >>> So, all this to say, it doesn't work yet. It is a fairly small, >>> self-contained client of the engine. It might be a good place for you >>> to jump in and see how a typical client might utilize the engine, >>> including build system, etc. I thought the code was done last night, >>> but looking at the output this morning, it doesn't work. >> Sounds great - I'll have a look at it tomorrow evening after work and >> see how I get on. > > OK, I've made a start - it now builds and runs on my machine. Attached > is a trivial patch to print an error message if the KJV module isn't > installed (guess what I forgot to do initially :-), and to make the > Strongs-based lessons work as well as the KJV phrases. > > BTW, is there a more canonical form for checking the return values of > SWMgr.getModule() - my C++ is a bit rusty but might it not be cleaner to > use a pointer variable rather than a reference? > > Cheers, > Lyndon > > > ------------------------------------------------------------------------ > > Index: flash.cpp > =================================================================== > --- flash.cpp (revision 96) > +++ flash.cpp (working copy) > @@ -201,7 +201,7 @@ > } > // if we would rather have short strongs > else { > - SWBuf answers = w.def; > + answers = w.def; > strip.processText(answers); // remove html tags > answers.replaceBytes("\n\r", ' '); // remove > newlines > } > @@ -241,13 +241,20 @@ > */ > vector<Word> processWords(const char *range, bool addAll = true) { > SWMgr manager; > - SWModule &bible = *manager.getModule("KJV"); > map<SWBuf, Word> wordList; > + SWModule *tmpBible; > > SWConfig hutf8("hwords.conf"); > SWConfig hdefs("hdefs.conf"); > SWConfig gutf8("gwords.conf"); > SWConfig gdefs("gdefs.conf"); > + > + tmpBible = manager.getModule("KJV"); > + if (tmpBible == NULL) { > + cerr << "Unable to locate KJV module" << endl; > + exit(1); > + } > + SWModule &bible = *tmpBible; > > VerseKey parser; > ListKey r = parser.ParseVerseList(range, 0, true); > > > ------------------------------------------------------------------------ > > _______________________________________________ > 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