diff options
Diffstat (limited to 'src/modules/texts/rawtext/rawtext.cpp')
-rw-r--r-- | src/modules/texts/rawtext/rawtext.cpp | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/src/modules/texts/rawtext/rawtext.cpp b/src/modules/texts/rawtext/rawtext.cpp index 8641a45..4fb716c 100644 --- a/src/modules/texts/rawtext/rawtext.cpp +++ b/src/modules/texts/rawtext/rawtext.cpp @@ -1,9 +1,11 @@ /****************************************************************************** - * rawtext.cpp - code for class 'RawText'- a module that reads raw text files: - * ot and nt using indexs ??.bks ??.cps ??.vss * + * rawtext.cpp - code for class 'RawText'- a module that reads raw text + * files: ot and nt using indexs ??.bks ??.cps ??.vss * - * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org) + * $Id: rawtext.cpp 2833 2013-06-29 06:40:28Z chrislit $ + * + * Copyright 1997-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society * P. O. Box 2528 * Tempe, AZ 85280-2528 @@ -71,7 +73,7 @@ RawText::~RawText() { } -bool RawText::isWritable() { +bool RawText::isWritable() const { return ((idxfp[0]->getFd() > 0) && ((idxfp[0]->mode & FileMgr::RDWR) == FileMgr::RDWR)); } @@ -83,16 +85,16 @@ bool RawText::isWritable() { * RET: string buffer with verse */ -SWBuf &RawText::getRawEntryBuf() { +SWBuf &RawText::getRawEntryBuf() const { long start = 0; unsigned short size = 0; VerseKey &key = getVerseKey(); - findOffset(key.Testament(), key.TestamentIndex(), &start, &size); + findOffset(key.getTestament(), key.getTestamentIndex(), &start, &size); entrySize = size; // support getEntrySize call entryBuf = ""; - readText(key.Testament(), start, size, entryBuf); + readText(key.getTestament(), start, size, entryBuf); rawFilter(entryBuf, 0); // hack, decipher rawFilter(entryBuf, &key); @@ -106,14 +108,14 @@ SWBuf &RawText::getRawEntryBuf() { void RawText::setEntry(const char *inbuf, long len) { VerseKey &key = getVerseKey(); - doSetText(key.Testament(), key.TestamentIndex(), inbuf, len); + doSetText(key.getTestament(), key.getTestamentIndex(), inbuf, len); } void RawText::linkEntry(const SWKey *inkey) { VerseKey &destkey = getVerseKey(); const VerseKey *srckey = &getVerseKey(inkey); - doLinkEntry(destkey.Testament(), destkey.TestamentIndex(), srckey->TestamentIndex()); + doLinkEntry(destkey.getTestament(), destkey.getTestamentIndex(), srckey->getTestamentIndex()); } @@ -125,7 +127,7 @@ void RawText::linkEntry(const SWKey *inkey) { void RawText::deleteEntry() { VerseKey &key = getVerseKey(); - doSetText(key.Testament(), key.TestamentIndex(), ""); + doSetText(key.getTestament(), key.getTestamentIndex(), ""); } /****************************************************************************** @@ -141,7 +143,7 @@ void RawText::increment(int steps) { unsigned short size; VerseKey *tmpkey = &getVerseKey(); - findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size); + findOffset(tmpkey->getTestament(), tmpkey->getTestamentIndex(), &start, &size); SWKey lastgood = *tmpkey; while (steps) { @@ -151,17 +153,21 @@ void RawText::increment(int steps) { (steps > 0) ? ++(*key) : --(*key); tmpkey = &getVerseKey(); - if ((error = key->Error())) { + if ((error = key->popError())) { *key = lastgood; break; } - long index = tmpkey->TestamentIndex(); - findOffset(tmpkey->Testament(), index, &start, &size); + long index = tmpkey->getTestamentIndex(); + findOffset(tmpkey->getTestament(), index, &start, &size); + if ( - (((laststart != start) || (lastsize != size)) // we're a different entry + ( + ((laststart != start) || (lastsize != size)) // we're a different entry // && (start > 0) - && (size)) // and we actually have a size - ||(!skipConsecutiveLinks)) { // or we don't want to skip consecutive links + && (size) // and we actually have a size + ) + || !skipConsecutiveLinks + ) { // or we don't want to skip consecutive links steps += (steps < 0) ? 1 : -1; lastgood = *tmpkey; } @@ -169,15 +175,16 @@ void RawText::increment(int steps) { error = (error) ? KEYERR_OUTOFBOUNDS : 0; } + bool RawText::isLinked(const SWKey *k1, const SWKey *k2) const { long start1, start2; unsigned short size1, size2; VerseKey *vk1 = &getVerseKey(k1); VerseKey *vk2 = &getVerseKey(k2); - if (vk1->Testament() != vk2->Testament()) return false; + if (vk1->getTestament() != vk2->getTestament()) return false; - findOffset(vk1->Testament(), vk1->TestamentIndex(), &start1, &size1); - findOffset(vk2->Testament(), vk2->TestamentIndex(), &start2, &size2); + findOffset(vk1->getTestament(), vk1->getTestamentIndex(), &start1, &size1); + findOffset(vk2->getTestament(), vk2->getTestamentIndex(), &start2, &size2); if (!size1 || !size2) return false; return start1 == start2; } @@ -187,7 +194,7 @@ bool RawText::hasEntry(const SWKey *k) const { unsigned short size; VerseKey *vk = &getVerseKey(k); - findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size); + findOffset(vk->getTestament(), vk->getTestamentIndex(), &start, &size); return size; } |