in utils/hp2ps/Main.c [66:188]
int main(int argc, char *argv[])
{
programname = copystring(Basename(argv[0]));
argc--, argv++;
while (argc && argv[0][0] == '-') {
while (*++*argv)
switch(**argv) {
case 'p':
pflag++;
break;
case 'e':
eflag++;
epsfwidth = WidthInPoints(*argv + 1);
goto nextarg;
case 'd':
dflag++;
goto nextarg;
case 'i':
switch( *(*argv + 1) ) {
case '-':
iflag = -1;
break;
case '+':
default:
iflag = 1;
}
goto nextarg;
case 'g':
gflag++;
goto nextarg;
case 'y':
yflag++;
goto nextarg;
case 'b':
bflag++;
goto nextarg;
case 's':
sflag++;
goto nextarg;
case 'm':
mflag++;
TWENTY = atoi(*argv + 1);
// only 20 keys fit on a page
if (TWENTY > DEFAULT_TWENTY)
multipageflag++;
goto nextarg;
case 'M':
multipageflag++;
goto nextarg;
case 't':
tflag++;
THRESHOLD_PERCENT = (floatish) atof(*argv + 1);
if (THRESHOLD_PERCENT < 0 || THRESHOLD_PERCENT > 5)
Usage(*argv-1);
goto nextarg;
case 'c':
cflag++;
goto nextarg;
case '?':
default:
Usage(*argv-1);
}
nextarg: ;
argc--, argv++;
}
hpfile = "stdin";
psfile = "stdout";
hpfp = stdin;
psfp = stdout;
filter = argc < 1;
if (!filter) {
pathName = copystring(argv[0]);
DropSuffix(pathName, ".hp");
#if defined(_WIN32)
DropSuffix(pathName, ".exe");
#endif
baseName = copystring(Basename(pathName));
hpfp = Fp(pathName, &hpfile, ".hp", "r");
psfp = Fp(baseName, &psfile, ".ps", "w");
if (pflag) auxfp = Fp(baseName, &auxfile, ".aux", "r");
}
GetHpFile(hpfp);
if (!filter && pflag) GetAuxFile(auxfp);
TraceElement(); /* Orders on total, Removes trace elements (tflag) */
if (dflag) Deviation(); /* ReOrders on deviation */
if (iflag) Identorder(iflag); /* ReOrders on identifier */
if (pflag) Reorder(); /* ReOrders on aux file */
/* Selects top bands (mflag) - can be more than 20 now */
if (TWENTY != 0) TopTwenty();
Dimensions();
areabelow = AreaBelow();
Scale();
PutPsFile();
if (!filter) {
auxfp = Fp(baseName, &auxfile, ".aux", "w");
PutAuxFile(auxfp);
}
return(0);
}