--- ray/src/px/oki20c.c 1992/01/29 16:51:40 2.4 +++ ray/src/px/oki20c.c 1992/07/03 08:59:26 2.7 @@ -49,6 +49,9 @@ char *argv[]; dofilter++; argv++; argc--; } +#ifdef _IOLBF + stdout->_flag &= ~_IOLBF; +#endif if (argc < 2) status = printp(NULL) == -1; else @@ -68,14 +71,15 @@ char *fname; int i; if (dofilter) { - if (fname == NULL) - fname = ""; - sprintf(buf, FILTER, fname); + if (fname == NULL) { + sprintf(buf, FILTER, ""); + fname = ""; + } else + sprintf(buf, FILTER, fname); if ((input = popen(buf, "r")) == NULL) { fprintf(stderr, "Cannot execute: %s\n", buf); return(-1); } - fname = buf; } else if (fname == NULL) { input = stdin; fname = ""; @@ -93,7 +97,7 @@ char *fname; fprintf(stderr, "%s: bad picture size\n", fname); return(-1); } - if (xres > NCOLS || yres > NROWS) { + if (xres > NCOLS) { fprintf(stderr, "%s: resolution mismatch\n", fname); return(-1); } @@ -101,9 +105,6 @@ char *fname; fputs("\0333\042", stdout); /* clear line buffer */ clearlbuf(); -#ifdef _IOLBF - stdout->_flag &= ~_IOLBF; -#endif /* put out scanlines */ for (i = yres-1; i >= 0; i--) { if (freadcolrs(scanline, xres, input) < 0) {