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 */
/* * vProloguePS - set options and perform the PostScript initialization */ void vProloguePS(diagram_type *pDiag, const char *szTask, const char *szFilename, const options_type *pOptions) { FILE *pOutFile; const char *szTmp; time_t tTime; fail(pDiag == NULL); fail(pDiag->pOutFile == NULL); fail(szTask == NULL || szTask[0] == '\0'); fail(pOptions == NULL); pOutFile = pDiag->pOutFile; bUseLandscape = pOptions->bUseLandscape; eEncoding = pOptions->eEncoding; eImageLevel = pOptions->eImageLevel; if (pOptions->iPageHeight == INT_MAX) { lPageHeight = LONG_MAX; } else { lPageHeight = lPoints2DrawUnits(pOptions->iPageHeight); } DBG_DEC(lPageHeight); if (pOptions->iPageWidth == INT_MAX) { lPageWidth = LONG_MAX; } else { lPageWidth = lPoints2DrawUnits(pOptions->iPageWidth); } DBG_DEC(lPageWidth); lFooterHeight = 0; bInFtrSpace = FALSE; tFontRefCurr = (drawfile_fontref)-1; usFontSizeCurr = 0; iFontColorCurr = -1; lYtopCurr = -1; iPageCount = 0; iImageCount = 0; iSectionIndex = 0; bFirstInSection = TRUE; pDiag->lXleft = 0; pDiag->lYtop = lPageHeight - PS_TOP_MARGIN; szCreator = szTask; fprintf(pOutFile, "%%!PS-Adobe-2.0\n"); fprintf(pOutFile, "%%%%Title: %s\n", szBasename(szFilename)); fprintf(pOutFile, "%%%%Creator: %s %s\n", szCreator, VERSIONSTRING); szTmp = getenv("LOGNAME"); if (szTmp == NULL || szTmp[0] == '\0') { szTmp = getenv("USER"); if (szTmp == NULL || szTmp[0] == '\0') { szTmp = "unknown"; } } fprintf(pOutFile, "%%%%For: %.50s\n", szTmp); errno = 0; tTime = time(NULL); if (tTime == (time_t)-1 && errno != 0) { szCreationDate = NULL; } else { szCreationDate = ctime(&tTime); } if (szCreationDate == NULL || szCreationDate[0] == '\0') { szCreationDate = "unknown\n"; } fprintf(pOutFile, "%%%%CreationDate: %s", szCreationDate); if (bUseLandscape) { fprintf(pOutFile, "%%%%Orientation: Landscape\n"); fprintf(pOutFile, "%%%%BoundingBox: 0 0 %.0f %.0f\n", dDrawUnits2Points(lPageHeight), dDrawUnits2Points(lPageWidth)); } else { fprintf(pOutFile, "%%%%Orientation: Portrait\n"); fprintf(pOutFile, "%%%%BoundingBox: 0 0 %.0f %.0f\n", dDrawUnits2Points(lPageWidth), dDrawUnits2Points(lPageHeight)); } } /* end of vProloguePS */