--- ray/src/px/pcompos.c 1991/05/31 10:21:31 1.9 +++ ray/src/px/pcompos.c 1992/08/11 18:40:57 2.10 @@ -14,8 +14,9 @@ static char SCCSid[] = "$SunId$ LBL"; #include "color.h" +#include "resolu.h" -#define MAXFILE 32 +#define MAXFILE 64 /* output picture size */ int xsiz = 0; @@ -69,7 +70,6 @@ main(argc, argv) int argc; char *argv[]; { - double atof(); int ncolumns = 0; int autolabel = 0; int curcol = 0, curx = 0, cury = 0; @@ -116,13 +116,15 @@ char *argv[]; goto userr; } dofiles: + if (ysiz > 0 & ncolumns > 0) { + fprintf(stderr, "%s: -a option incompatible with -y\n", + progname); + quit(1); + } for (nfile = 0; an < argc; nfile++) { if (nfile >= MAXFILE) goto toomany; - if (autolabel) - thislabel = argv[an]; - else - thislabel = NULL; + thislabel = NULL; input[nfile].hasmin = input[nfile].hasmax = 0; while (an < argc && (argv[an][0] == '-' || argv[an][0] == '+')) switch (argv[an][1]) { @@ -146,7 +148,8 @@ dofiles: case 'l': if (strcmp(argv[an], "-l")) goto userr; - thislabel = argv[++an]; + thislabel = argv[an+1]; + an += 2; break; case '\0': if (argv[an][0] == '-') @@ -158,14 +161,20 @@ dofiles: getfile: if (argc-an < (ncolumns ? 1 : 3)) goto userr; + if (autolabel && thislabel == NULL) + thislabel = argv[an]; if (!strcmp(argv[an], "-")) { input[nfile].name = ""; input[nfile].fp = stdin; } else { - input[nfile].name = argv[an]; - if ((input[nfile].fp = argv[an][0] == '!' ? - popen(argv[an]+1, "r") : - fopen(argv[an], "r")) == NULL) { + if (argv[an][0] == '!') { + input[nfile].name = ""; + input[nfile].fp = popen(argv[an]+1, "r"); + } else { + input[nfile].name = argv[an]; + input[nfile].fp = fopen(argv[an], "r"); + } + if (input[nfile].fp == NULL) { perror(argv[an]); quit(1); } @@ -181,7 +190,7 @@ getfile: } /* get picture size */ if (fgetresolu(&input[nfile].xres, &input[nfile].yres, - input[nfile].fp) != (YMAJOR|YDECR)) { + input[nfile].fp) < 0) { fprintf(stderr, "%s: bad picture size\n", input[nfile].name); quit(1); @@ -213,6 +222,8 @@ getfile: goto toomany; input[nfile].name = "