void SWCom::setIndex(long iindex) { VerseKey *key = &getVerseKey(); key->setTestament(1); key->setIndex(iindex); if (key != this->key) { this->key->copyFrom(*key); } }
int main(int argc, char **argv) { SWCipher *zobj; VerseKey key; RawVerse *rawdrv; int ofd[2], oxfd[2]; long tmpoff = 0, offset, loffset = 0, lzoffset = 0; unsigned short size, lsize = 0, lzsize; char *tmpbuf; if (argc != 3) { fprintf(stderr, "usage: %s <datapath> \"<key>\"\n", argv[0]); exit(1); } rawdrv = new RawVerse(argv[1]); zobj = new SWCipher((unsigned char *)argv[2]); tmpbuf = new char [ strlen(argv[1]) + 11 ]; sprintf(tmpbuf, "%sot.zzz", argv[1]); ofd[0] = FileMgr::createPathAndFile(tmpbuf); sprintf(tmpbuf, "%sot.zzz.vss", argv[1]); oxfd[0] = FileMgr::createPathAndFile(tmpbuf); sprintf(tmpbuf, "%snt.zzz", argv[1]); ofd[1] = FileMgr::createPathAndFile(tmpbuf); sprintf(tmpbuf, "%snt.zzz.vss", argv[1]); oxfd[1] = FileMgr::createPathAndFile(tmpbuf); delete [] tmpbuf; printf("\n"); write(oxfd[0], &lzoffset, 4); write(oxfd[0], &lzsize, 2); write(oxfd[1], &lzoffset, 4); write(oxfd[1], &lzsize, 2); key.setAutoNormalize(false); key.setIntros(true); for (key.setIndex(0); (!key.popError()); key++) { rawdrv->findOffset(key.getTestament(), key.getIndex(), &offset, &size); printf("%s: OLD offset: %ld; size: %d\n", (const char *)key, offset, size); if ((offset == loffset) && (size == lsize)) { printf("using previous offset,size %d\n", size); offset = lseek(oxfd[key.getTestament() - 1], 0, SEEK_CUR); printf("%ld %ld %d \n", offset, lzoffset, lzsize); write(oxfd[key.getTestament() - 1], &lzoffset, 4); write(oxfd[key.getTestament() - 1], &lzsize, 2); } else { lsize = size; loffset = offset; if (size) { SWBuf tmpbuf; rawdrv->readText(key.getTestament(), offset, size, tmpbuf); zobj->Buf(tmpbuf.c_str(), size); unsigned long ulSize = size; zobj->cipherBuf(&ulSize); size = (unsigned int)ulSize; } offset = lseek(ofd[key.getTestament() - 1], 0, SEEK_CUR); tmpoff = lseek(oxfd[key.getTestament() - 1], 0, SEEK_CUR); printf("%s: (%ld) NEW offset: %ld; size: %d\n", (const char *)key, tmpoff, offset, size); write(oxfd[key.getTestament() - 1], &offset, 4); unsigned long ulSize = size; if (size) write(ofd[key.getTestament() - 1], zobj->cipherBuf(&ulSize), size); size = (unsigned int)ulSize; lzoffset = offset; write(oxfd[key.getTestament() - 1], &size, 2); lzsize = size; } } delete zobj; close(ofd[0]); close(oxfd[0]); close(ofd[1]); close(oxfd[1]); return 0; }
int main(int argc, char **argv) { int loop; int max; VerseKey yo("Gen.1.1", "Gen.1.2"); std::cout << yo.getRangeText(); if (argc > 1) LocaleMgr::getSystemLocaleMgr()->setDefaultLocaleName(argv[1]); VerseKey bla; long index; if (argc < 2) bla = "James 1:19"; else bla = argv[2]; std::cout << "\n Headings: " << (bool)bla.isIntros() << "\n"; std::cout << " (.Index(Index()+1))\n"; max = (argc < 4) ? 10 : atoi(argv[3]); for (loop = 0; loop < max; loop++) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")"; bla.setIndex(index+1); std::cout << "-> " << (const char *)bla << "\n"; } std::cout << "-----------------\n"; std::cout << "\n (.Index(Index()-1))\n"; if (argc < 2) bla = "James 1:19"; else bla = argv[2]; for (loop = max; loop; loop--) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")"; bla.setIndex(index-1); std::cout << "-> " << (const char *)bla << "\n"; } std::cout << "-----------------\n"; bla.setIntros(true); std::cout << "\n Headings: " << (bool)bla.isIntros() << "\n"; std::cout << " key++\n"; if (argc < 2) bla = "Matthew 1:5"; else bla = argv[2]; for (loop = 0; loop < max && !bla.popError(); loop++,bla++) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "-----------------\n"; bla.setIntros(true); std::cout << "\n Headings: " << (bool)bla.isIntros() << "\n"; std::cout << " key--\n"; if (argc < 2) bla = "Matthew 1:5"; else bla = argv[2]; for (loop = max; loop && !bla.popError(); loop--, bla--) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "-----------------\n"; if (argc < 2) bla = "Genesis 1:5"; else bla = argv[2]; for (loop = max; loop; loop--, bla--) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "-----------------\n"; if (argc < 2) bla = "Malachi 4:2"; else bla = argv[2]; for (loop = max; loop; loop--, bla++) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "-----------------\n"; if (argc < 2) bla = "Revelation of John 22:17"; else bla = argv[2]; for (loop = max; loop; loop--, bla++) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "-----------------\n"; std::cout << "-------- Headings ---------\n"; bla.setIntros(true); if (argc < 2) bla = "Matthew 1:5"; else bla = argv[2]; for (loop = max; loop; loop--, bla--) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "-----------------\n"; if (argc < 2) bla = "Genesis 1:5"; else bla = argv[2]; for (loop = max; loop; loop--, bla--) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "-----------------\n"; if (argc < 2) bla = "Malachi 4:2"; else bla = argv[2]; for (loop = max; loop; loop--, bla++) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "-----------------\n"; if (argc < 2) bla = "Revelation of John 22:17"; else bla = argv[2]; for (loop = max; loop; loop--, bla++) { index = bla.getIndex(); std::cout << (const char *)bla << "(" << index << ")\n"; } std::cout << "\n\n"; std::cout << "-------- Error Check ------------\n\n"; bla = "Revelation of John 23:19"; std::cout << "bla = \"Revelation of John 23:19\"\n"; std::cout << "(const char *)bla = " << (const char *)bla << "\n"; std::cout << "bla.popError() = " << (int)bla.popError() << " \n"; std::cout << "bla++ \n"; bla++; std::cout << "bla.popError() = " << (int)bla.popError() << " \n"; bla.setIntros(false); for (bla = BOTTOM; !bla.popError(); bla.setBook(bla.getBook()-1)) std::cout << (const char *)bla << "\n"; bla.setTestament(1); bla = BOTTOM; std::cout << bla.getTestamentIndex() << "\n"; std::cout << bla.getIndex() << "\n"; std::cout << bla << "\n"; bla.setTestament(2); bla = BOTTOM; std::cout << bla.getTestamentIndex() << "\n"; std::cout << bla.getIndex() << "\n"; std::cout << bla << "\n"; return 0; }