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

Reply via email to