#include <cups/cups-private.h>
int
main(int argc,
char *argv[])
{
cups_file_t *fp;
char buffer[8192];
ssize_t bytes;
int copies;
if (argc < 6 || argc > 7)
{
_cupsLangPrintf(stderr,
_("Usage: %s job-id user title copies options [file]"),
argv[0]);
return (1);
}
if (!getenv("FINAL_CONTENT_TYPE"))
copies = atoi(argv[4]);
else
copies = 1;
if (argc == 6)
{
copies = 1;
fp = cupsFileStdin();
}
else if ((fp = cupsFileOpen(argv[6], "r")) == NULL)
{
fprintf(stderr, "DEBUG: Unable to open \"%s\".\n", argv[6]);
_cupsLangPrintError("ERROR", _("Unable to open print file"));
return (1);
}
while (copies > 0)
{
if (!getenv("FINAL_CONTENT_TYPE"))
fputs("PAGE: 1 1\n", stderr);
cupsFileRewind(fp);
while ((bytes = cupsFileRead(fp, buffer, sizeof(buffer))) > 0)
if (write(1, buffer, (size_t)bytes) < bytes)
{
_cupsLangPrintFilter(stderr, "ERROR",
_("Unable to write uncompressed print data: %s"),
strerror(errno));
if (argc == 7)
cupsFileClose(fp);
return (1);
}
copies --;
}
if (argc == 7)
cupsFileClose(fp);
return (0);
}