#include #include #include #include using namespace sword; using namespace std; void usage(const char *app, const char *error = 0) { if (error) fprintf(stderr, "\n%s: %s\n", app, error); fprintf(stderr, "Convert Collate Plain Text collation to imp format\n"); fprintf(stderr, "\nusage: %s \n", app); fprintf(stderr, "\n"); exit(-1); } int main(int argc, char **argv) { if (argc < 2) usage(*argv); SWBuf inFile = argv[1]; SWBuf lineBuffer; SWBuf bookTag="
open(inFile, FileMgr::RDONLY); if (fd->getFd() < 0) { fprintf(stderr, "error: %s: couldn't open input file: %s \n", argv[0], inFile.c_str()); exit(-2); } bool more = true; do { more = FileMgr::getLine(fd, lineBuffer)!=0; if (lineBuffer.startsWith(bookTag)) { lineBuffer << bookTag.length(); SWBuf book = lineBuffer.stripPrefix('"'); vk.setBook(atoi(book.c_str())); } else if (lineBuffer.startsWith(chapTag)) { lineBuffer << chapTag.length(); SWBuf chapter = lineBuffer.stripPrefix('"'); vk.setChapter(atoi(chapter.c_str())); } else if (lineBuffer.startsWith(verseTag)) { lineBuffer << verseTag.length(); SWBuf verse = lineBuffer.stripPrefix('"'); vk.setVerse(atoi(verse.c_str())); lineBuffer.stripPrefix('>'); if (lineBuffer.indexOf("") > -1) { lineBuffer.setSize(lineBuffer.indexOf("")); inVerse = false; } else { inVerse = true; } lineBuffer.trim(); if (lineBuffer.length() > 0 && lineBuffer != "&om;") { cout << "$$$" << vk.getOSISRef() << (vk.getVerse() ? "" : ".0") << "\n"; cout << lineBuffer << endl; } } else if (inVerse) { if (lineBuffer.indexOf("") > -1) { lineBuffer.setSize(lineBuffer.indexOf("")); inVerse = false; } cout << lineBuffer.trim() << endl; } } while (more); }