summaryrefslogtreecommitdiff
path: root/src/modules/texts/ztext/ztext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/texts/ztext/ztext.cpp')
-rw-r--r--src/modules/texts/ztext/ztext.cpp59
1 files changed, 31 insertions, 28 deletions
diff --git a/src/modules/texts/ztext/ztext.cpp b/src/modules/texts/ztext/ztext.cpp
index 61b3008..f0afe6d 100644
--- a/src/modules/texts/ztext/ztext.cpp
+++ b/src/modules/texts/ztext/ztext.cpp
@@ -1,9 +1,11 @@
/******************************************************************************
- * ztext.cpp - code for class 'zText'- a module that reads compressed text
- * files: ot and nt using indexs ??.vss
*
+ * ztext.cpp - code for class 'zText'- a module that reads compressed text
+ * files
*
- * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org)
+ * $Id: ztext.cpp 2980 2013-09-14 21:51:47Z scribe $
+ *
+ * Copyright 1996-2013 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
* P. O. Box 2528
* Tempe, AZ 85280-2528
@@ -28,9 +30,6 @@
#include <ztext.h>
-#include <regex.h> // GNU
-
-
SWORD_NAMESPACE_START
/******************************************************************************
@@ -65,7 +64,7 @@ zText::~zText()
}
-bool zText::isWritable() { return ((idxfp[0]->getFd() > 0) && ((idxfp[0]->mode & FileMgr::RDWR) == FileMgr::RDWR)); }
+bool zText::isWritable() const { return ((idxfp[0]->getFd() > 0) && ((idxfp[0]->mode & FileMgr::RDWR) == FileMgr::RDWR)); }
/******************************************************************************
@@ -74,18 +73,18 @@ bool zText::isWritable() { return ((idxfp[0]->getFd() > 0) && ((idxfp[0]->mode &
* RET: buffer with verse
*/
-SWBuf &zText::getRawEntryBuf() {
+SWBuf &zText::getRawEntryBuf() const {
long start = 0;
unsigned short size = 0;
unsigned long buffnum = 0;
VerseKey &key = getVerseKey();
- findOffset(key.Testament(), key.TestamentIndex(), &start, &size, &buffnum);
+ findOffset(key.getTestament(), key.getTestamentIndex(), &start, &size, &buffnum);
entrySize = size; // support getEntrySize call
entryBuf = "";
- zReadText(key.Testament(), start, size, buffnum, entryBuf);
+ zReadText(key.getTestament(), start, size, buffnum, entryBuf);
rawFilter(entryBuf, &key);
// if (!isUnicode())
@@ -96,18 +95,18 @@ SWBuf &zText::getRawEntryBuf() {
bool zText::sameBlock(VerseKey *k1, VerseKey *k2) {
- if (k1->Testament() != k2->Testament())
+ if (k1->getTestament() != k2->getTestament())
return false;
switch (blockType) {
case VERSEBLOCKS:
- if (k1->Verse() != k2->Verse())
+ if (k1->getVerse() != k2->getVerse())
return false;
case CHAPTERBLOCKS:
- if (k1->Chapter() != k2->Chapter())
+ if (k1->getChapter() != k2->getChapter())
return false;
case BOOKBLOCKS:
- if (k1->Book() != k2->Book())
+ if (k1->getBook() != k2->getBook())
return false;
}
return true;
@@ -125,7 +124,7 @@ void zText::setEntry(const char *inbuf, long len) {
delete lastWriteKey;
}
- doSetText(key.Testament(), key.TestamentIndex(), inbuf, len);
+ doSetText(key.getTestament(), key.getTestamentIndex(), inbuf, len);
lastWriteKey = (VerseKey *)key.clone(); // must delete
}
@@ -134,7 +133,7 @@ void zText::setEntry(const char *inbuf, long len) {
void zText::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());
}
@@ -147,7 +146,7 @@ void zText::deleteEntry() {
VerseKey &key = getVerseKey();
- doSetText(key.Testament(), key.TestamentIndex(), "");
+ doSetText(key.getTestament(), key.getTestamentIndex(), "");
}
@@ -164,7 +163,7 @@ void zText::increment(int steps) {
unsigned long buffnum;
VerseKey *tmpkey = &getVerseKey();
- findOffset(tmpkey->Testament(), tmpkey->TestamentIndex(), &start, &size, &buffnum);
+ findOffset(tmpkey->getTestament(), tmpkey->getTestamentIndex(), &start, &size, &buffnum);
SWKey lastgood = *tmpkey;
while (steps) {
@@ -174,18 +173,21 @@ void zText::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, &buffnum);
+ long index = tmpkey->getTestamentIndex();
+ findOffset(tmpkey->getTestament(), index, &start, &size, &buffnum);
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;
}
@@ -193,16 +195,17 @@ void zText::increment(int steps) {
error = (error) ? KEYERR_OUTOFBOUNDS : 0;
}
+
bool zText::isLinked(const SWKey *k1, const SWKey *k2) const {
long start1, start2;
unsigned short size1, size2;
unsigned long buffnum1, buffnum2;
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, &buffnum1);
- findOffset(vk2->Testament(), vk2->TestamentIndex(), &start2, &size2, &buffnum2);
+ findOffset(vk1->getTestament(), vk1->getTestamentIndex(), &start1, &size1, &buffnum1);
+ findOffset(vk2->getTestament(), vk2->getTestamentIndex(), &start2, &size2, &buffnum2);
return start1 == start2 && buffnum1 == buffnum2;
}
@@ -212,7 +215,7 @@ bool zText::hasEntry(const SWKey *k) const {
unsigned long buffnum;
VerseKey *vk = &getVerseKey(k);
- findOffset(vk->Testament(), vk->TestamentIndex(), &start, &size, &buffnum);
+ findOffset(vk->getTestament(), vk->getTestamentIndex(), &start, &size, &buffnum);
return size;
}