*
* Image file to PostScript filter for CUPS.
*
- * Copyright 2007-2010 by Apple Inc.
+ * Copyright 2007-2011 by Apple Inc.
* Copyright 1993-2007 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
#include "image.h"
#include <math.h>
#include <cups/language-private.h>
+#include <signal.h>
/*
setbuf(stderr, NULL);
+ /*
+ * Ignore broken pipe signals...
+ */
+
+ signal(SIGPIPE, SIG_IGN);
+
/*
* Check command-line...
*/
if (argc < 6 || argc > 7)
{
- fprintf(stderr, _("Usage: %s job-id user title copies options [file]\n"),
- argv[0]);
+ _cupsLangPrintf(stderr,
+ _("Usage: %s job-id user title copies options file"),
+ argv[0]);
return (1);
}
if ((fd = cupsTempFd(filename, sizeof(filename))) < 0)
{
- perror("ERROR: Unable to copy image file");
+ _cupsLangPrintError("ERROR", _("Unable to copy print file"));
return (1);
}
- fprintf(stderr, "DEBUG: imagetoraster - copying to temp print file \"%s\"\n",
+ fprintf(stderr, "DEBUG: imagetops - copying to temp print file \"%s\".\n",
filename);
while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
* separate-documents-uncollated-copies allows for uncollated copies.
*/
- Collate = strcasecmp(val, "separate-documents-uncollated-copies") != 0;
+ Collate = _cups_strcasecmp(val, "separate-documents-uncollated-copies") != 0;
}
if ((val = cupsGetOption("Collate", num_options, options)) != NULL &&
- strcasecmp(val, "True") == 0)
+ _cups_strcasecmp(val, "True") == 0)
Collate = 1;
if ((val = cupsGetOption("gamma", num_options, options)) != NULL)
if ((val = cupsGetOption("scaling", num_options, options)) != NULL)
zoom = atoi(val) * 0.01;
else if ((val = cupsGetOption("fitplot", num_options, options)) != NULL &&
- !strcasecmp(val, "true"))
+ !_cups_strcasecmp(val, "true"))
zoom = 1.0;
else if ((val = cupsGetOption("fit-to-page", num_options, options)) != NULL &&
- !strcasecmp(val, "true"))
+ !_cups_strcasecmp(val, "true"))
zoom = 1.0;
if ((val = cupsGetOption("ppi", num_options, options)) != NULL)
if ((val = cupsGetOption("position", num_options, options)) != NULL)
{
- if (strcasecmp(val, "center") == 0)
+ if (_cups_strcasecmp(val, "center") == 0)
{
XPosition = 0;
YPosition = 0;
}
- else if (strcasecmp(val, "top") == 0)
+ else if (_cups_strcasecmp(val, "top") == 0)
{
XPosition = 0;
YPosition = 1;
}
- else if (strcasecmp(val, "left") == 0)
+ else if (_cups_strcasecmp(val, "left") == 0)
{
XPosition = -1;
YPosition = 0;
}
- else if (strcasecmp(val, "right") == 0)
+ else if (_cups_strcasecmp(val, "right") == 0)
{
XPosition = 1;
YPosition = 0;
}
- else if (strcasecmp(val, "top-left") == 0)
+ else if (_cups_strcasecmp(val, "top-left") == 0)
{
XPosition = -1;
YPosition = 1;
}
- else if (strcasecmp(val, "top-right") == 0)
+ else if (_cups_strcasecmp(val, "top-right") == 0)
{
XPosition = 1;
YPosition = 1;
}
- else if (strcasecmp(val, "bottom") == 0)
+ else if (_cups_strcasecmp(val, "bottom") == 0)
{
XPosition = 0;
YPosition = -1;
}
- else if (strcasecmp(val, "bottom-left") == 0)
+ else if (_cups_strcasecmp(val, "bottom-left") == 0)
{
XPosition = -1;
YPosition = -1;
}
- else if (strcasecmp(val, "bottom-right") == 0)
+ else if (_cups_strcasecmp(val, "bottom-right") == 0)
{
XPosition = 1;
YPosition = -1;
else
val = cupsGetOption("mirror", num_options, options);
- if (val && (!strcasecmp(val, "true") || !strcasecmp(val, "on") ||
- !strcasecmp(val, "yes")))
+ if (val && (!_cups_strcasecmp(val, "true") || !_cups_strcasecmp(val, "on") ||
+ !_cups_strcasecmp(val, "yes")))
Flip = 1;
if ((val = cupsGetOption("emit-jcl", num_options, options)) != NULL &&
- (!strcasecmp(val, "false") || !strcasecmp(val, "off") ||
- !strcasecmp(val, "no") || !strcmp(val, "0")))
+ (!_cups_strcasecmp(val, "false") || !_cups_strcasecmp(val, "off") ||
+ !_cups_strcasecmp(val, "no") || !strcmp(val, "0")))
emit_jcl = 0;
else
emit_jcl = 1;
if (img == NULL)
{
- fputs(_("ERROR: Unable to open image file for printing\n"), stderr);
+ _cupsLangPrintFilter(stderr, "ERROR",
+ _("The print file could not be opened."));
ppdClose(ppd);
return (1);
}
*/
if ((choice = ppdFindMarkedChoice(ppd, "PageSize")) != NULL &&
- strcasecmp(choice->choice, "Custom") == 0)
+ _cups_strcasecmp(choice->choice, "Custom") == 0)
{
float width, /* New width in points */
length; /* New length in points */
if (ppd && ppd->num_filters == 0)
fprintf(stderr, "PAGE: %d %d\n", page, realcopies);
- fprintf(stderr, _("INFO: Printing page %d...\n"), page);
+ _cupsLangPrintFilter(stderr, "INFO", _("Printing page %d."), page);
printf("%%%%Page: %d %d\n", page, page);