int main(int argc, char **argv) { options_type tOptions; const char *szWordfile; int iFirst, iIndex, iGoodCount; BOOL bUsage, bMultiple, bUseTXT; if (argc <= 0) { return EXIT_FAILURE; } szTask = szBasename(argv[0]); if (argc <= 1) { iFirst = 1; bUsage = TRUE; } else { iFirst = iReadOptions(argc, argv); bUsage = iFirst <= 0; } if (bUsage) { vUsage(); return iFirst < 0 ? EXIT_FAILURE : EXIT_SUCCESS; } vGetOptions(&tOptions); bMultiple = argc - iFirst > 1; bUseTXT = tOptions.eConversionType == conversion_text || tOptions.eConversionType == conversion_fmt_text; iGoodCount = 0; for (iIndex = iFirst; iIndex < argc; iIndex++) { if (bMultiple && bUseTXT) { szWordfile = szBasename(argv[iIndex]); fprintf(stdout, "::::::::::::::\n"); fprintf(stdout, "%s\n", szWordfile); fprintf(stdout, "::::::::::::::\n"); } if (bProcessFile(argv[iIndex])) { iGoodCount++; } } DBG_DEC(iGoodCount); return iGoodCount <= 0 ? EXIT_FAILURE : EXIT_SUCCESS; } /* end of main */
int main(int argc, char **argv) { options_type tOptions; const char *szWordfile; int iFirst, iIndex, iGoodCount; BOOL bUsage, bMultiple, bUseTXT, bUseXML; if (argc <= 0) { return EXIT_FAILURE; } szTask = szBasename(argv[0]); if (argc <= 1) { iFirst = 1; bUsage = TRUE; } else { iFirst = iReadOptions(argc, argv); bUsage = iFirst <= 0; } if (bUsage) { vUsage(); return iFirst < 0 ? EXIT_FAILURE : EXIT_SUCCESS; } #if defined(N_PLAT_NLM) && !defined(_VA_LIST) nwinit(); #endif /* N_PLAT_NLM && !_VA_LIST */ vGetOptions(&tOptions); #if !defined(__dos) if (is_locale_utf8()) { #if defined(__STDC_ISO_10646__) /* * If the user wants UTF-8 and the envirionment variables * support UTF-8, than set the locale accordingly */ if (tOptions.eEncoding == encoding_utf_8) { if (setlocale(LC_CTYPE, "") == NULL) { werr(1, "Can't set the UTF-8 locale! " "Check LANG, LC_CTYPE, LC_ALL."); } DBG_MSG("The UTF-8 locale has been set"); } else { (void)setlocale(LC_CTYPE, "C"); } #endif /* __STDC_ISO_10646__ */ } else { if (setlocale(LC_CTYPE, "") == NULL) { werr(0, "Can't set the locale! Will use defaults"); (void)setlocale(LC_CTYPE, "C"); } DBG_MSG("The locale has been set"); } #endif /* !__dos */ bMultiple = argc - iFirst > 1; bUseTXT = tOptions.eConversionType == conversion_text || tOptions.eConversionType == conversion_fmt_text; bUseXML = tOptions.eConversionType == conversion_xml; iGoodCount = 0; #if defined(__dos) if (tOptions.eConversionType == conversion_pdf) { /* PDF must be written as a binary stream */ setmode(fileno(stdout), O_BINARY); } #endif /* __dos */ if (bUseXML) { fprintf(stdout, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" "<!DOCTYPE %s PUBLIC \"-//OASIS//DTD DocBook XML V4.1.2//EN\"\n" "\t\"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd\">\n", bMultiple ? "set" : "book"); if (bMultiple) { fprintf(stdout, "<set>\n"); } } for (iIndex = iFirst; iIndex < argc; iIndex++) { if (bMultiple && bUseTXT) { szWordfile = szBasename(argv[iIndex]); fprintf(stdout, "::::::::::::::\n"); fprintf(stdout, "%s\n", szWordfile); fprintf(stdout, "::::::::::::::\n"); } if (bProcessFile(argv[iIndex])) { iGoodCount++; } } if (bMultiple && bUseXML) { fprintf(stdout, "</set>\n"); } DBG_DEC(iGoodCount); return iGoodCount <= 0 ? EXIT_FAILURE : EXIT_SUCCESS; } /* end of main */