diff options
Diffstat (limited to 'usr/src/cmd/print/bsd-sysv-commands/lpr.c')
-rw-r--r-- | usr/src/cmd/print/bsd-sysv-commands/lpr.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/usr/src/cmd/print/bsd-sysv-commands/lpr.c b/usr/src/cmd/print/bsd-sysv-commands/lpr.c index fe6c24a8bc..547e0df36f 100644 --- a/usr/src/cmd/print/bsd-sysv-commands/lpr.c +++ b/usr/src/cmd/print/bsd-sysv-commands/lpr.c @@ -70,6 +70,8 @@ main(int ac, char *av[]) papi_job_t job = NULL; int exit_code = 0; char *printer = NULL; + char prefetch[3]; + int prefetch_len = sizeof (prefetch); papi_encryption_t encryption = PAPI_ENCRYPT_NEVER; int dump = 0; int validate = 0; @@ -217,6 +219,9 @@ main(int ac, char *av[]) if (is_postscript(av[optind]) == 1) document_format = "application/postscript"; #endif + } else { + if (is_postscript_stream(0, prefetch, &prefetch_len) == 1) + document_format = "application/postscript"; } papiAttributeListAddInteger(&list, PAPI_ATTR_EXCL, "copies", 1); @@ -238,7 +243,8 @@ main(int ac, char *av[]) status = papiJobValidate(svc, printer, list, NULL, &av[optind], &job); else if (optind == ac) /* no file list, use stdin */ - status = jobSubmitSTDIN(svc, printer, list, &job); + status = jobSubmitSTDIN(svc, printer, prefetch, prefetch_len, + list, &job); else if (copy == 0) /* reference the files in the job, default */ status = papiJobSubmitByReference(svc, printer, list, NULL, &av[optind], &job); |