--- ray/src/px/pcompos.c 1991/12/19 14:51:50 2.2 +++ ray/src/px/pcompos.c 1992/06/22 14:14:40 2.6 @@ -119,10 +119,7 @@ dofiles: 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 +143,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 +156,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); } @@ -333,8 +337,7 @@ int *xp, *yp; char com[128]; FILE *fp; - sprintf(com, "psign -h %d '%.30s' | pfilt -1 -x /2 -y /2", - 2*labelht, s); + sprintf(com, "psign -s -.2 -h %d '%.30s'", labelht, s); if ((fp = popen(com, "r")) == NULL) return(NULL); if (checkheader(fp, COLRFMT, NULL) < 0)