Parser ::Parser(TTSQueue * queue, TTSTrie * trie) { splitter = new Splitter(); rules = new Rules(); ruleEnabled = true; puncEnabled = true; abbr_exc = new TTSHashTrie(); this->queue = queue; this->trie = trie; LoadAbbreviations(abbr_exc); LoadExceptions(abbr_exc); }
int main(int argc, char *argv[]) { int i = 1; int ret = 0; char *renv = NULL; Database = NULL; /* Basic environment variables */ if ((renv = getenv("KPKG_DB_HOME"))) dbname = strdup(renv); else dbname = strdup(KPKG_DB_HOME_DEFAULT); if ((renv = getenv("ROOT"))) { HOME_ROOT = strdup(renv); MIRRORS_DIRECTORY = malloc(sizeof(char)*PATH_MAX); PACKAGES_DIRECTORY = malloc(sizeof(char)*PATH_MAX); snprintf(MIRRORS_DIRECTORY, PATH_MAX, "%s/%s", HOME_ROOT, MIRRORS_DIRECTORY_DEFAULT); snprintf(PACKAGES_DIRECTORY, PATH_MAX, "%s/%s", HOME_ROOT, PACKAGES_DIRECTORY_DEFAULT); } else { HOME_ROOT = strdup("/"); MIRRORS_DIRECTORY = strdup(MIRRORS_DIRECTORY_DEFAULT); PACKAGES_DIRECTORY = strdup(PACKAGES_DIRECTORY_DEFAULT); } noreadme = 0; if ((renv = getenv("NOREADME"))) if (*renv) noreadme = 1; signal(SIGINT, cleanup); signal(SIGTERM, cleanup); /* Commands parsing */ if (argc == 1) { free(dbname); free(HOME_ROOT); say_help(1); } LoadExceptions(INIT); if (!strcmp(argv[1], "help")) { free(dbname); free(HOME_ROOT); say_help(0); } else if (!strcmp(argv[1], "install")) while (argv[++i] != NULL) ret |= ret != 0 ? ret : InstallPkg(argv[i]); else if (!strcmp(argv[1], "remove")) while (argv[++i] != NULL) ret |= ret != 0 ? ret : RemovePkg(argv[i], 0); else if (!strcmp(argv[1], "search")) while (argv[++i] != NULL) ret |= SearchPkg(argv[i]); else if (!strcmp(argv[1], "provides")) while (argv[++i] != NULL) ret |= SearchFileInPkgDB(argv[i]); else if (!strcmp(argv[1], "download")) while (argv[++i] != NULL) ret |= DownloadPkg(argv[i], NULL); else if (!strcmp(argv[1], "instkdb")) while (argv[++i] != NULL) ret |= InstKpkgDB(argv[i]); else if (!strcmp(argv[1], "update")) { if (argv[2] == NULL) UpdateMirrorDB(NULL); else while (argv[++i] != NULL) ret |= UpdateMirrorDB(argv[i]); } else if (!strcmp(argv[1], "upgrade")) { LoadExceptions(DEFAULT); if (argv[2] == NULL) UpgradePkg(NULL); else while (argv[++i] != NULL) ret |= UpgradePkg(argv[i]); FreeExceptions(); } else if (!strcmp(argv[1], "diff")) { UpgradeSystem(1); } free(dbname); free(HOME_ROOT); free(MIRRORS_DIRECTORY); free(PACKAGES_DIRECTORY); return ret; }