// Compression on variable granularity #include #include #include #include #ifndef __GNUC__ #include #else #include #endif #include #include #include #include #include #include #include #include void errorOutHelp(char *appName) { cerr << appName << " - a tool to output a Sword module in SWORD's 'imp' import format\n"; cerr << "usage: "<< appName << " \n"; cerr << "\n\n"; exit(-1); } int main(int argc, char **argv) { SWModule *inModule = 0; if ((argc != 2)) { errorOutHelp(argv[0]); } if ((!strcmp(argv[1], "-h")) || (!strcmp(argv[1], "--help")) || (!strcmp(argv[1], "/?")) || (!strcmp(argv[1], "-?")) || (!strcmp(argv[1], "-help"))) { errorOutHelp(argv[0]); } SWMgr mgr; ModMap::iterator it = mgr.Modules.find(argv[1]); if (it == mgr.Modules.end()) { fprintf(stderr, "error: %s: couldn't find module: %s \n", argv[0], argv[1]); exit(-2); } inModule = it->second; SWKey *key = (SWKey *)*inModule; VerseKey *vkey = SWDYNAMIC_CAST(VerseKey, key); if (vkey) vkey->Headings(1); for ((*inModule) = TOP; !inModule->Error(); (*inModule)++) { cout << "$$$" << inModule->KeyText() << endl; cout << inModule->getRawEntry() << endl; } return 0; }