DM, Your example shows 1 contiguous verse range, so the output of 1 is correct.
Try a call to: cout << list.getRangeText() << endl; A versekey can have upper and lower bounds, so your ListKey container has 1 VerseKey with upper and lower bounds set. Hope this helps and makes sense. You can also have a look at: http://crosswire.org/svn/sword/trunk/utilities/vs2osisref.cpp and subsequently the VerseKey::convertToOSIS call: http://crosswire.org/svn/sword/trunk/src/keys/versekey.cpp ACK! How'd those static size buffer get in there! Well, at least this is only a static utility function. It was probably moved directly from a utility into VerseKey. That needs to be cleaned up... DM Smith wrote: > Can someone please help. > > I'm working on getting osis2mod to handle commentaries and > annotateRef's argument is an osisRef. > > So, I am trying to parse an osisRef into a verse list with the > following but it does not work. > > ListKey list = new ListKey(); > > VerseKey verse; > verse.AutoNormalize(0); > verse.Headings(1); > verse.Persist(1); > > ListKey list = verse.ParseVerseList("Gen.1.1-Gen.1.5", 0, true); > > // The following should output 3, but it outputs 1 > cout << list.Count() << endl; > > Many thanks, > DM > > > > > > > _______________________________________________ > sword-devel mailing list: [email protected] > http://www.crosswire.org/mailman/listinfo/sword-devel > Instructions to unsubscribe/change your settings at above page _______________________________________________ sword-devel mailing list: [email protected] http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page
