//
-// "$Id$"
-//
-// Source class for the CUPS PPD Compiler.
-//
-// Copyright 2007-2010 by Apple Inc.
-// Copyright 2002-2007 by Easy Software Products.
-//
-// These coded instructions, statements, and computer programs are the
-// property of Apple Inc. and are protected by Federal copyright
-// law. Distribution and use rights are outlined in the file "LICENSE.txt"
-// which should have been included with this file. If this file is
-// file is missing or damaged, see the license at "http://www.cups.org/".
-//
-// Contents:
-//
-// ppdcSource::ppdcSource() - Load a driver source file.
-// ppdcSource::~ppdcSource() - Free a driver source file.
-// ppdcSource::add_include() - Add an include directory.
-// ppdcSource::find_driver() - Find a driver.
-// ppdcSource::find_include() - Find an include file.
-// ppdcSource::find_po() - Find a message catalog for the given
-// locale...
-// ppdcSource::find_size() - Find a media size.
-// ppdcSource::find_variable() - Find a variable.
-// ppdcSource::get_attr() - Get an attribute.
-// ppdcSource::get_boolean() - Get a boolean value.
-// ppdcSource::get_choice() - Get a choice.
-// ppdcSource::get_color_model() - Get an old-style color model option.
-// ppdcSource::get_color_order() - Get an old-style color order value.
-// ppdcSource::get_color_profile() - Get a color profile definition.
-// ppdcSource::get_color_space() - Get an old-style colorspace value.
-// ppdcSource::get_constraint() - Get a constraint.
-// ppdcSource::get_custom_size() - Get a custom media size definition from
-// a file.
-// ppdcSource::get_duplex() - Get a duplex option.
-// ppdcSource::get_filter() - Get a filter.
-// ppdcSource::get_float() - Get a single floating-point number.
-// ppdcSource::get_font() - Get a font definition.
-// ppdcSource::get_generic() - Get a generic old-style option.
-// ppdcSource::get_group() - Get an option group.
-// ppdcSource::get_installable() - Get an installable option.
-// ppdcSource::get_integer() - Get an integer value from a file.
-// ppdcSource::get_measurement() - Get a measurement value.
-// ppdcSource::get_option() - Get an option definition.
-// ppdcSource::get_po() - Get a message catalog.
-// ppdcSource::get_resolution() - Get an old-style resolution option.
-// ppdcSource::get_simple_profile() - Get a simple color profile definition.
-// ppdcSource::get_size() - Get a media size definition from a file.
-// ppdcSource::get_token() - Get a token from a file.
-// ppdcSource::get_variable() - Get a variable definition.
-// ppdcSource::quotef() - Write a formatted, quoted string...
-// ppdcSource::read_file() - Read a driver source file.
-// ppdcSource::scan_file() - Scan a driver source file.
-// ppdcSource::set_variable() - Set a variable.
-// ppdcSource::write_file() - Write the current source data to a file.
+// Source class for the CUPS PPD Compiler.
+//
+// Copyright 2007-2018 by Apple Inc.
+// Copyright 2002-2007 by Easy Software Products.
+//
+// Licensed under Apache License v2.0. See the file "LICENSE" for more
+// information.
//
//
#include <unistd.h>
#include <cups/raster.h>
#include "data/epson.h"
-#include "data/escp.h"
#include "data/hp.h"
#include "data/label.h"
-#include "data/pcl.h"
-#ifndef WIN32
+#ifndef _WIN32
# include <sys/utsname.h>
-#endif // !WIN32
+#endif // !_WIN32
//
vars->add(new ppdcVariable("CUPS_VERSION_MINOR", MAKE_STRING(CUPS_VERSION_MINOR)));
vars->add(new ppdcVariable("CUPS_VERSION_PATCH", MAKE_STRING(CUPS_VERSION_PATCH)));
-#ifdef WIN32
+#ifdef _WIN32
vars->add(new ppdcVariable("PLATFORM_NAME", "Windows"));
vars->add(new ppdcVariable("PLATFORM_ARCH", "X86"));
vars->add(new ppdcVariable("PLATFORM_NAME", "unknown"));
vars->add(new ppdcVariable("PLATFORM_ARCH", "unknown"));
}
-#endif // WIN32
+#endif // _WIN32
if (f)
read_file(f, ffp);
for (d = (ppdcDriver *)drivers->first(); d; d = (ppdcDriver *)drivers->next())
- if (!strcasecmp(f, d->pc_file_name->value))
+ if (!_cups_strcasecmp(f, d->pc_file_name->value))
return (d);
return (NULL);
if (*ptr != '>')
{
_cupsLangPrintf(stderr,
- _("ppdc: Invalid #include/#po filename \"%s\"\n"), n);
+ _("ppdc: Invalid #include/#po filename \"%s\"."), n);
return (0);
}
{
// Check for the local file relative to the current directory...
if (base && *base && f[0] != '/')
- snprintf(n, nlen, "%s/%s", base, f);
+ snprintf(n, (size_t)nlen, "%s/%s", base, f);
else
- strlcpy(n, f, nlen);
+ strlcpy(n, f, (size_t)nlen);
if (!access(n, 0))
return (n);
{
for (dir = (ppdcString *)includes->first(); dir; dir = (ppdcString *)includes->next())
{
- snprintf(n, nlen, "%s/%s", dir->value, f);
+ snprintf(n, (size_t)nlen, "%s/%s", dir->value, f);
if (!access(n, 0))
return (n);
}
// Search the standard include directories...
_cups_globals_t *cg = _cupsGlobals(); // Global data
- snprintf(n, nlen, "%s/ppdc/%s", cg->cups_datadir, f);
+ snprintf(n, (size_t)nlen, "%s/ppdc/%s", cg->cups_datadir, f);
if (!access(n, 0))
return (n);
- snprintf(n, nlen, "%s/po/%s", cg->cups_datadir, f);
+ snprintf(n, (size_t)nlen, "%s/po/%s", cg->cups_datadir, f);
if (!access(n, 0))
return (n);
else
//
-// 'ppdcSource::find_po()' - Find a message catalog for the given locale...
+// 'ppdcSource::find_po()' - Find a message catalog for the given locale.
//
ppdcCatalog * // O - Message catalog or NULL
for (cat = (ppdcCatalog *)po_files->first();
cat;
cat = (ppdcCatalog *)po_files->next())
- if (!strcasecmp(l, cat->locale->value))
+ if (!_cups_strcasecmp(l, cat->locale->value))
return (cat);
return (NULL);
for (m = (ppdcMediaSize *)sizes->first(); m; m = (ppdcMediaSize *)sizes->next())
- if (!strcasecmp(s, m->name->value))
+ if (!_cups_strcasecmp(s, m->name->value))
return (m);
return (NULL);
for (v = (ppdcVariable *)vars->first(); v; v = (ppdcVariable *)vars->next())
- if (!strcasecmp(n, v->name->value))
+ if (!_cups_strcasecmp(n, v->name->value))
return (v);
return (NULL);
if (!get_token(fp, name, sizeof(name)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected name after %s on line %d of %s\n"),
+ _("ppdc: Expected name after %s on line %d of %s."),
loc ? "LocAttribute" : "Attribute", fp->line, fp->filename);
return (0);
}
if (!get_token(fp, selector, sizeof(selector)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected selector after %s on line %d of %s\n"),
+ _("ppdc: Expected selector after %s on line %d of %s."),
loc ? "LocAttribute" : "Attribute", fp->line, fp->filename);
return (0);
}
if (!get_token(fp, value, sizeof(value)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected value after %s on line %d of %s\n"),
+ _("ppdc: Expected value after %s on line %d of %s."),
loc ? "LocAttribute" : "Attribute", fp->line, fp->filename);
return (0);
}
if (!get_token(fp, buffer, sizeof(buffer)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected boolean value on line %d of %s.\n"),
+ _("ppdc: Expected boolean value on line %d of %s."),
fp->line, fp->filename);
return (-1);
}
- if (!strcasecmp(buffer, "on") ||
- !strcasecmp(buffer, "yes") ||
- !strcasecmp(buffer, "true"))
+ if (!_cups_strcasecmp(buffer, "on") ||
+ !_cups_strcasecmp(buffer, "yes") ||
+ !_cups_strcasecmp(buffer, "true"))
return (1);
- else if (!strcasecmp(buffer, "off") ||
- !strcasecmp(buffer, "no") ||
- !strcasecmp(buffer, "false"))
+ else if (!_cups_strcasecmp(buffer, "off") ||
+ !_cups_strcasecmp(buffer, "no") ||
+ !_cups_strcasecmp(buffer, "false"))
return (0);
else
{
_cupsLangPrintf(stderr,
- _("ppdc: Bad boolean value (%s) on line %d of %s.\n"),
+ _("ppdc: Bad boolean value (%s) on line %d of %s."),
buffer, fp->line, fp->filename);
return (-1);
}
if (!get_token(fp, name, sizeof(name)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected choice name/text on line %d of %s.\n"),
+ _("ppdc: Expected choice name/text on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
if (!get_token(fp, code, sizeof(code)))
{
- _cupsLangPrintf(stderr, _("ppdc: Expected choice code on line %d of %s.\n"),
+ _cupsLangPrintf(stderr, _("ppdc: Expected choice code on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected name/text combination for ColorModel on "
- "line %d of %s\n"), fp->line, fp->filename);
+ "line %d of %s."), fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected colorspace for ColorModel on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected color order for ColorModel on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected compression for ColorModel on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return (NULL);
}
ppdcSource::get_color_order(
const char *co) // I - Color order string
{
- if (!strcasecmp(co, "chunked") ||
- !strcasecmp(co, "chunky"))
+ if (!_cups_strcasecmp(co, "chunked") ||
+ !_cups_strcasecmp(co, "chunky"))
return (CUPS_ORDER_CHUNKED);
- else if (!strcasecmp(co, "banded"))
+ else if (!_cups_strcasecmp(co, "banded"))
return (CUPS_ORDER_BANDED);
- else if (!strcasecmp(co, "planar"))
+ else if (!_cups_strcasecmp(co, "planar"))
return (CUPS_ORDER_PLANAR);
else
return (-1);
{
_cupsLangPrintf(stderr,
_("ppdc: Expected resolution/mediatype following "
- "ColorProfile on line %d of %s\n"),
+ "ColorProfile on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
ppdcSource::get_color_space(
const char *cs) // I - Colorspace string
{
- if (!strcasecmp(cs, "w"))
+ if (!_cups_strcasecmp(cs, "w"))
return (CUPS_CSPACE_W);
- else if (!strcasecmp(cs, "rgb"))
+ else if (!_cups_strcasecmp(cs, "rgb"))
return (CUPS_CSPACE_RGB);
- else if (!strcasecmp(cs, "rgba"))
+ else if (!_cups_strcasecmp(cs, "rgba"))
return (CUPS_CSPACE_RGBA);
- else if (!strcasecmp(cs, "k"))
+ else if (!_cups_strcasecmp(cs, "k"))
return (CUPS_CSPACE_K);
- else if (!strcasecmp(cs, "cmy"))
+ else if (!_cups_strcasecmp(cs, "cmy"))
return (CUPS_CSPACE_CMY);
- else if (!strcasecmp(cs, "ymc"))
+ else if (!_cups_strcasecmp(cs, "ymc"))
return (CUPS_CSPACE_YMC);
- else if (!strcasecmp(cs, "cmyk"))
+ else if (!_cups_strcasecmp(cs, "cmyk"))
return (CUPS_CSPACE_CMYK);
- else if (!strcasecmp(cs, "ymck"))
+ else if (!_cups_strcasecmp(cs, "ymck"))
return (CUPS_CSPACE_YMCK);
- else if (!strcasecmp(cs, "kcmy"))
+ else if (!_cups_strcasecmp(cs, "kcmy"))
return (CUPS_CSPACE_KCMY);
- else if (!strcasecmp(cs, "kcmycm"))
+ else if (!_cups_strcasecmp(cs, "kcmycm"))
return (CUPS_CSPACE_KCMYcm);
- else if (!strcasecmp(cs, "gmck"))
+ else if (!_cups_strcasecmp(cs, "gmck"))
return (CUPS_CSPACE_GMCK);
- else if (!strcasecmp(cs, "gmcs"))
+ else if (!_cups_strcasecmp(cs, "gmcs"))
return (CUPS_CSPACE_GMCS);
- else if (!strcasecmp(cs, "white"))
+ else if (!_cups_strcasecmp(cs, "white"))
return (CUPS_CSPACE_WHITE);
- else if (!strcasecmp(cs, "gold"))
+ else if (!_cups_strcasecmp(cs, "gold"))
return (CUPS_CSPACE_GOLD);
- else if (!strcasecmp(cs, "silver"))
+ else if (!_cups_strcasecmp(cs, "silver"))
return (CUPS_CSPACE_SILVER);
- else if (!strcasecmp(cs, "CIEXYZ"))
+ else if (!_cups_strcasecmp(cs, "CIEXYZ"))
return (CUPS_CSPACE_CIEXYZ);
- else if (!strcasecmp(cs, "CIELab"))
+ else if (!_cups_strcasecmp(cs, "CIELab"))
return (CUPS_CSPACE_CIELab);
- else if (!strcasecmp(cs, "RGBW"))
+ else if (!_cups_strcasecmp(cs, "RGBW"))
return (CUPS_CSPACE_RGBW);
- else if (!strcasecmp(cs, "ICC1"))
+ else if (!_cups_strcasecmp(cs, "ICC1"))
return (CUPS_CSPACE_ICC1);
- else if (!strcasecmp(cs, "ICC2"))
+ else if (!_cups_strcasecmp(cs, "ICC2"))
return (CUPS_CSPACE_ICC2);
- else if (!strcasecmp(cs, "ICC3"))
+ else if (!_cups_strcasecmp(cs, "ICC3"))
return (CUPS_CSPACE_ICC3);
- else if (!strcasecmp(cs, "ICC4"))
+ else if (!_cups_strcasecmp(cs, "ICC4"))
return (CUPS_CSPACE_ICC4);
- else if (!strcasecmp(cs, "ICC5"))
+ else if (!_cups_strcasecmp(cs, "ICC5"))
return (CUPS_CSPACE_ICC5);
- else if (!strcasecmp(cs, "ICC6"))
+ else if (!_cups_strcasecmp(cs, "ICC6"))
return (CUPS_CSPACE_ICC6);
- else if (!strcasecmp(cs, "ICC7"))
+ else if (!_cups_strcasecmp(cs, "ICC7"))
return (CUPS_CSPACE_ICC7);
- else if (!strcasecmp(cs, "ICC8"))
+ else if (!_cups_strcasecmp(cs, "ICC8"))
return (CUPS_CSPACE_ICC8);
- else if (!strcasecmp(cs, "ICC9"))
+ else if (!_cups_strcasecmp(cs, "ICC9"))
return (CUPS_CSPACE_ICC9);
- else if (!strcasecmp(cs, "ICCA"))
+ else if (!_cups_strcasecmp(cs, "ICCA"))
return (CUPS_CSPACE_ICCA);
- else if (!strcasecmp(cs, "ICCB"))
+ else if (!_cups_strcasecmp(cs, "ICCB"))
return (CUPS_CSPACE_ICCB);
- else if (!strcasecmp(cs, "ICCC"))
+ else if (!_cups_strcasecmp(cs, "ICCC"))
return (CUPS_CSPACE_ICCC);
- else if (!strcasecmp(cs, "ICCD"))
+ else if (!_cups_strcasecmp(cs, "ICCD"))
return (CUPS_CSPACE_ICCD);
- else if (!strcasecmp(cs, "ICCE"))
+ else if (!_cups_strcasecmp(cs, "ICCE"))
return (CUPS_CSPACE_ICCE);
- else if (!strcasecmp(cs, "ICCF"))
+ else if (!_cups_strcasecmp(cs, "ICCF"))
return (CUPS_CSPACE_ICCF);
else
return (-1);
{
_cupsLangPrintf(stderr,
_("ppdc: Expected constraints string for UIConstraints on "
- "line %d of %s\n"), fp->line, fp->filename);
+ "line %d of %s."), fp->line, fp->filename);
return (NULL);
}
if (*ptr != '*')
{
_cupsLangPrintf(stderr,
- _("ppdc: Option constraint must *name on line %d of %s\n"),
+ _("ppdc: Option constraint must *name on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
if (*ptr != '*')
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected two option names on line %d of %s\n"),
+ _("ppdc: Expected two option names on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected duplex type after Duplex on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return;
}
if (cond_state)
return;
- if (!strcasecmp(temp, "none") || !strcasecmp(temp, "false") ||
- !strcasecmp(temp, "no") || !strcasecmp(temp, "off"))
+ if (!_cups_strcasecmp(temp, "none") || !_cups_strcasecmp(temp, "false") ||
+ !_cups_strcasecmp(temp, "no") || !_cups_strcasecmp(temp, "off"))
{
g = d->find_group("General");
if ((o = g->find_option("Duplex")) != NULL)
break;
}
}
- else if (!strcasecmp(temp, "normal") || !strcasecmp(temp, "true") ||
- !strcasecmp(temp, "yes") || !strcasecmp(temp, "on") ||
- !strcasecmp(temp, "flip") || !strcasecmp(temp, "rotated") ||
- !strcasecmp(temp, "manualtumble"))
+ else if (!_cups_strcasecmp(temp, "normal") || !_cups_strcasecmp(temp, "true") ||
+ !_cups_strcasecmp(temp, "yes") || !_cups_strcasecmp(temp, "on") ||
+ !_cups_strcasecmp(temp, "flip") || !_cups_strcasecmp(temp, "rotated") ||
+ !_cups_strcasecmp(temp, "manualtumble"))
{
g = d->find_group("General");
o = g->find_option("Duplex");
if (!o)
{
o = new ppdcOption(PPDC_PICKONE, "Duplex", "2-Sided Printing",
- !strcasecmp(temp, "flip") ? PPDC_SECTION_PAGE :
+ !_cups_strcasecmp(temp, "flip") ? PPDC_SECTION_PAGE :
PPDC_SECTION_ANY, 10.0f);
o->add_choice(new ppdcChoice("None", "Off (1-Sided)",
"<</Duplex false>>setpagedevice"));
attr = (ppdcAttr *)d->attrs->next())
if (!strcmp(attr->name->value, "cupsFlipDuplex"))
{
- if (strcasecmp(temp, "flip"))
+ if (_cups_strcasecmp(temp, "flip"))
d->attrs->remove(attr);
break;
}
- if (!strcasecmp(temp, "flip") && !attr)
+ if (!_cups_strcasecmp(temp, "flip") && !attr)
d->add_attr(new ppdcAttr("cupsFlipDuplex", NULL, NULL, "true"));
for (attr = (ppdcAttr *)d->attrs->first();
break;
}
- if (!strcasecmp(temp, "flip"))
+ if (!_cups_strcasecmp(temp, "flip"))
d->add_attr(new ppdcAttr("cupsBackSide", NULL, NULL, "Flipped"));
- else if (!strcasecmp(temp, "rotated"))
+ else if (!_cups_strcasecmp(temp, "rotated"))
d->add_attr(new ppdcAttr("cupsBackSide", NULL, NULL, "Rotated"));
- else if (!strcasecmp(temp, "manualtumble"))
+ else if (!_cups_strcasecmp(temp, "manualtumble"))
d->add_attr(new ppdcAttr("cupsBackSide", NULL, NULL, "ManualTumble"));
else
d->add_attr(new ppdcAttr("cupsBackSide", NULL, NULL, "Normal"));
}
else
_cupsLangPrintf(stderr,
- _("ppdc: Unknown duplex type \"%s\" on line %d of %s\n"),
+ _("ppdc: Unknown duplex type \"%s\" on line %d of %s."),
temp, fp->line, fp->filename);
}
if (!get_token(fp, type, sizeof(type)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected a filter definition on line %d of %s\n"),
+ _("ppdc: Expected a filter definition on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
while (isspace(*ptr))
ptr ++;
- strcpy(program, ptr);
+ strlcpy(program, ptr, sizeof(program));
}
else
{
if (!get_token(fp, program, sizeof(program)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected a program name on line %d of %s\n"),
+ _("ppdc: Expected a program name on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Invalid empty MIME type for filter on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return (NULL);
}
if (cost < 0 || cost > 200)
{
_cupsLangPrintf(stderr,
- _("ppdc: Invalid cost for filter on line %d of %s\n"),
+ _("ppdc: Invalid cost for filter on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Invalid empty program name for filter on line %d "
- "of %s\n"), fp->line, fp->filename);
+ "of %s."), fp->line, fp->filename);
return (NULL);
}
// Get the number from the file and range-check...
if (!get_token(fp, temp, sizeof(temp)))
{
- _cupsLangPrintf(stderr, _("ppdc: Expected real number on line %d of %s\n"),
+ _cupsLangPrintf(stderr, _("ppdc: Expected real number on line %d of %s."),
fp->line, fp->filename);
return (-1.0f);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Unknown trailing characters in real number \"%s\" "
- "on line %d of %s\n"), temp, fp->line, fp->filename);
+ "on line %d of %s."), temp, fp->line, fp->filename);
return (-1.0f);
}
else
if (!get_token(fp, name, sizeof(name)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected name after Font on line %d of %s\n"),
+ _("ppdc: Expected name after Font on line %d of %s."),
fp->line, fp->filename);
return (0);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected encoding after Font on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return (0);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected version after Font on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return (0);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected charset after Font on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return (0);
}
if (!get_token(fp, temp, sizeof(temp)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected status after Font on line %d of %s\n"),
+ _("ppdc: Expected status after Font on line %d of %s."),
fp->line, fp->filename);
return (0);
}
- if (!strcasecmp(temp, "ROM"))
+ if (!_cups_strcasecmp(temp, "ROM"))
status = PPDC_FONT_ROM;
- else if (!strcasecmp(temp, "Disk"))
+ else if (!_cups_strcasecmp(temp, "Disk"))
status = PPDC_FONT_DISK;
else
{
_cupsLangPrintf(stderr,
- _("ppdc: Bad status keyword %s on line %d of %s\n"),
+ _("ppdc: Bad status keyword %s on line %d of %s."),
temp, fp->line, fp->filename);
return (0);
}
if (!get_token(fp, name, sizeof(name)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected name/text after %s on line %d of %s\n"),
+ _("ppdc: Expected name/text after %s on line %d of %s."),
keyword, fp->line, fp->filename);
return (NULL);
}
if (!get_token(fp, name, sizeof(name)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected group name/text on line %d of %s\n"),
+ _("ppdc: Expected group name/text on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected name/text after Installable on line %d "
- "of %s\n"), fp->line, fp->filename);
+ "of %s."), fp->line, fp->filename);
return (NULL);
}
// NAME logicop value
for (newv = (char *)v + 1;
*newv && (isalnum(*newv & 255) || *newv == '_');
- newv ++);
+ newv ++)
+ /* do nothing */;
ch = *newv;
*newv = '\0';
while (isspace(*newv & 255))
newv ++;
- if (strncmp(newv, "==", 2))
+ if (!strncmp(newv, "==", 2))
{
compop = PPDC_EQ;
newv += 2;
}
- else if (strncmp(newv, "!=", 2))
+ else if (!strncmp(newv, "!=", 2))
{
compop = PPDC_NE;
newv += 2;
}
- else if (strncmp(newv, "<=", 2))
+ else if (!strncmp(newv, "<=", 2))
{
compop = PPDC_LE;
newv += 2;
compop = PPDC_LT;
newv ++;
}
- else if (strncmp(newv, ">=", 2))
+ else if (!strncmp(newv, ">=", 2))
{
compop = PPDC_GE;
newv += 2;
if (*newv == ')' || !*newv)
return (-1);
- if (isdigit(*v & 255) || *v == '-' || *v == '+')
+ if (isdigit(*newv & 255) || *newv == '-' || *newv == '+')
{
// Get the second number...
temp2 = strtol(newv, &newv, 0);
if (!get_token(fp, temp, sizeof(temp)))
{
- _cupsLangPrintf(stderr, _("ppdc: Expected integer on line %d of %s\n"),
+ _cupsLangPrintf(stderr, _("ppdc: Expected integer on line %d of %s."),
fp->line, fp->filename);
return (-1);
}
val = (float)strtod(buffer, &ptr);
// Check for a trailing unit specifier...
- if (!strcasecmp(ptr, "mm"))
+ if (!_cups_strcasecmp(ptr, "mm"))
val *= 72.0f / 25.4f;
- else if (!strcasecmp(ptr, "cm"))
+ else if (!_cups_strcasecmp(ptr, "cm"))
val *= 72.0f / 2.54f;
- else if (!strcasecmp(ptr, "m"))
+ else if (!_cups_strcasecmp(ptr, "m"))
val *= 72.0f / 0.0254f;
- else if (!strcasecmp(ptr, "in"))
+ else if (!_cups_strcasecmp(ptr, "in"))
val *= 72.0f;
- else if (!strcasecmp(ptr, "ft"))
+ else if (!_cups_strcasecmp(ptr, "ft"))
val *= 72.0f * 12.0f;
- else if (strcasecmp(ptr, "pt") && *ptr)
+ else if (_cups_strcasecmp(ptr, "pt") && *ptr)
return (-1.0f);
return (val);
if (!get_token(fp, name, sizeof(name)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected option name/text on line %d of %s\n"),
+ _("ppdc: Expected option name/text on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
if (!get_token(fp, type, sizeof(type)))
{
- _cupsLangPrintf(stderr, _("ppdc: Expected option type on line %d of %s\n"),
+ _cupsLangPrintf(stderr, _("ppdc: Expected option type on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
- if (!strcasecmp(type, "boolean"))
+ if (!_cups_strcasecmp(type, "boolean"))
ot = PPDC_BOOLEAN;
- else if (!strcasecmp(type, "pickone"))
+ else if (!_cups_strcasecmp(type, "pickone"))
ot = PPDC_PICKONE;
- else if (!strcasecmp(type, "pickmany"))
+ else if (!_cups_strcasecmp(type, "pickmany"))
ot = PPDC_PICKMANY;
else
{
_cupsLangPrintf(stderr,
- _("ppdc: Invalid option type \"%s\" on line %d of %s\n"),
+ _("ppdc: Invalid option type \"%s\" on line %d of %s."),
type, fp->line, fp->filename);
return (NULL);
}
if (!get_token(fp, type, sizeof(type)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected option section on line %d of %s\n"),
+ _("ppdc: Expected option section on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
- if (!strcasecmp(type, "AnySetup"))
+ if (!_cups_strcasecmp(type, "AnySetup"))
section = PPDC_SECTION_ANY;
- else if (!strcasecmp(type, "DocumentSetup"))
+ else if (!_cups_strcasecmp(type, "DocumentSetup"))
section = PPDC_SECTION_DOCUMENT;
- else if (!strcasecmp(type, "ExitServer"))
+ else if (!_cups_strcasecmp(type, "ExitServer"))
section = PPDC_SECTION_EXIT;
- else if (!strcasecmp(type, "JCLSetup"))
+ else if (!_cups_strcasecmp(type, "JCLSetup"))
section = PPDC_SECTION_JCL;
- else if (!strcasecmp(type, "PageSetup"))
+ else if (!_cups_strcasecmp(type, "PageSetup"))
section = PPDC_SECTION_PAGE;
- else if (!strcasecmp(type, "Prolog"))
+ else if (!_cups_strcasecmp(type, "Prolog"))
section = PPDC_SECTION_PROLOG;
else
{
_cupsLangPrintf(stderr,
_("ppdc: Invalid option section \"%s\" on line %d of "
- "%s\n"), type, fp->line, fp->filename);
+ "%s."), type, fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Option %s redefined with a different type on line "
- "%d of %s\n"), name, fp->line, fp->filename);
+ "%d of %s."), name, fp->line, fp->filename);
return (NULL);
}
else if (g != mg)
{
_cupsLangPrintf(stderr,
_("ppdc: Option %s defined in two different groups on line "
- "%d of %s\n"), name, fp->line, fp->filename);
+ "%d of %s."), name, fp->line, fp->filename);
return (NULL);
}
if (!get_token(fp, locale, sizeof(locale)))
{
_cupsLangPrintf(stderr,
- _("ppdc: Expected locale after #po on line %d of %s\n"),
+ _("ppdc: Expected locale after #po on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected filename after #po %s on line %d of "
- "%s\n"), locale, fp->line, fp->filename);
+ "%s."), locale, fp->line, fp->filename);
return (NULL);
}
if (find_po(locale))
{
_cupsLangPrintf(stderr,
- _("ppdc: Duplicate #po for locale %s on line %d of %s\n"),
+ _("ppdc: Duplicate #po for locale %s on line %d of %s."),
locale, fp->line, fp->filename);
return (NULL);
}
if ((baseptr = strrchr(basedir, '/')) != NULL)
*baseptr = '\0';
else
- strcpy(basedir, ".");
+ strlcpy(basedir, ".", sizeof(basedir));
// Find the po file...
pofilename[0] = '\0';
else
{
_cupsLangPrintf(stderr,
- _("ppdc: Unable to find #po file %s on line %d of %s\n"),
+ _("ppdc: Unable to find #po file %s on line %d of %s."),
poname, fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected override field after Resolution on line "
- "%d of %s\n"), fp->line, fp->filename);
+ "%d of %s."), fp->line, fp->filename);
return (NULL);
}
{
_cupsLangPrintf(stderr,
_("ppdc: Expected name/text after Resolution on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
return (NULL);
}
case 0 :
_cupsLangPrintf(stderr,
_("ppdc: Bad resolution name \"%s\" on line %d of "
- "%s\n"), name, fp->line, fp->filename);
+ "%s."), name, fp->line, fp->filename);
break;
case 1 :
ydpi = xdpi;
if (color_order >= 0)
{
- snprintf(commptr, sizeof(command) - (commptr - command),
+ snprintf(commptr, sizeof(command) - (size_t)(commptr - command),
"/cupsColorOrder %d", color_order);
commptr += strlen(commptr);
}
if (color_space >= 0)
{
- snprintf(commptr, sizeof(command) - (commptr - command),
+ snprintf(commptr, sizeof(command) - (size_t)(commptr - command),
"/cupsColorSpace %d", color_space);
commptr += strlen(commptr);
}
if (compression >= 0)
{
- snprintf(commptr, sizeof(command) - (commptr - command),
+ snprintf(commptr, sizeof(command) - (size_t)(commptr - command),
"/cupsCompression %d", compression);
commptr += strlen(commptr);
}
- snprintf(commptr, sizeof(command) - (commptr - command), ">>setpagedevice");
+ snprintf(commptr, sizeof(command) - (size_t)(commptr - command), ">>setpagedevice");
// Return the new choice...
return (new ppdcChoice(name, text, command));
{
_cupsLangPrintf(stderr,
_("ppdc: Expected resolution/mediatype following "
- "SimpleColorProfile on line %d of %s\n"),
+ "SimpleColorProfile on line %d of %s."),
fp->line, fp->filename);
return (NULL);
}
if (!isalnum(ch) && ch != '_')
break;
else if (nameptr < (name + sizeof(name) - 1))
- *nameptr++ = fp->get();
+ *nameptr++ = (char)fp->get();
}
if (nameptr == name)
{
// $$ = $
if (bufptr < bufend)
- *bufptr++ = fp->get();
+ *bufptr++ = (char)fp->get();
}
else
{
// $ch = $ch
_cupsLangPrintf(stderr,
_("ppdc: Bad variable substitution ($%c) on line %d "
- "of %s.\n"), ch, fp->line, fp->filename);
+ "of %s."), ch, fp->line, fp->filename);
if (bufptr < bufend)
*bufptr++ = '$';
var = find_variable(name);
if (var)
{
- strncpy(bufptr, var->value->value, bufend - bufptr);
- bufptr += strlen(var->value->value);
+ strlcpy(bufptr, var->value->value, (size_t)(bufend - bufptr + 1));
+ bufptr += strlen(bufptr);
}
else
{
if (!(cond_state & PPDC_COND_SKIP))
_cupsLangPrintf(stderr,
_("ppdc: Undefined variable (%s) on line %d of "
- "%s.\n"), name, fp->line, fp->filename);
+ "%s."), name, fp->line, fp->filename);
- snprintf(bufptr, bufend - bufptr + 1, "$%s", name);
- bufptr += strlen(name) + 1;
+ snprintf(bufptr, (size_t)(bufend - bufptr + 1), "$%s", name);
+ bufptr += strlen(bufptr);
}
}
}
empty = 0;
if (bufptr < bufend)
- *bufptr++ = ch;
+ *bufptr++ = (char)ch;
}
}
else if (ch == '\'' || ch == '\"')
{
// Insert the opposing quote char...
if (bufptr < bufend)
- *bufptr++ = ch;
+ *bufptr++ = (char)ch;
}
else
{
startline = fp->line;
if (bufptr < bufend)
- *bufptr++ = ch;
+ *bufptr++ = (char)ch;
}
else if ((ch == ')' && quote == '(') || (ch == '>' && quote == '<'))
{
quote = 0;
if (bufptr < bufend)
- *bufptr++ = ch;
+ *bufptr++ = (char)ch;
}
else if (ch == '\\')
{
break;
if (bufptr < bufend)
- *bufptr++ = ch;
+ *bufptr++ = (char)ch;
}
else if (bufptr < bufend)
{
empty = 0;
- *bufptr++ = ch;
+ *bufptr++ = (char)ch;
if ((ch == '{' || ch == '}') && !quote)
break;
{
_cupsLangPrintf(stderr,
_("ppdc: Unterminated string starting with %c on line %d "
- "of %s\n"), quote, startline, fp->filename);
+ "of %s."), quote, startline, fp->filename);
return (NULL);
}
else
{
*bufptr = '\0';
-// puts(buffer);
return (buffer);
}
}
}
else if (*format == 'h' || *format == 'l' || *format == 'L')
size = *format++;
+ else
+ size = '\0';
if (!*format)
break;
if ((format - bufformat + 1) > (int)sizeof(tformat))
break;
- strncpy(tformat, bufformat, format - bufformat);
+ memcpy(tformat, bufformat, (size_t)(format - bufformat));
tformat[format - bufformat] = '\0';
bytes += cupsFilePrintf(fp, tformat, va_arg(ap, double));
if ((format - bufformat + 1) > (int)sizeof(tformat))
break;
- strncpy(tformat, bufformat, format - bufformat);
+ memcpy(tformat, bufformat, (size_t)(format - bufformat));
tformat[format - bufformat] = '\0';
- bytes += cupsFilePrintf(fp, tformat, va_arg(ap, int));
+# ifdef HAVE_LONG_LONG
+ if (size == 'L')
+ bytes += cupsFilePrintf(fp, tformat, va_arg(ap, long long));
+ else
+# endif /* HAVE_LONG_LONG */
+ if (size == 'l')
+ bytes += cupsFilePrintf(fp, tformat, va_arg(ap, long));
+ else
+ bytes += cupsFilePrintf(fp, tformat, va_arg(ap, int));
break;
-
+
case 'p' : // Pointer value
if ((format - bufformat + 1) > (int)sizeof(tformat))
break;
- strncpy(tformat, bufformat, format - bufformat);
+ memcpy(tformat, bufformat, (size_t)(format - bufformat));
tformat[format - bufformat] = '\0';
bytes += cupsFilePrintf(fp, tformat, va_arg(ap, void *));
}
else
{
- cupsFileWrite(fp, va_arg(ap, char *), width);
+ cupsFileWrite(fp, va_arg(ap, char *), (size_t)width);
bytes += width;
}
break;
if ((s = va_arg(ap, char *)) == NULL)
s = (char *)"(nil)";
- slen = strlen(s);
+ slen = (int)strlen(s);
if (slen > width && prec != width)
width = slen;
delete fp;
if (cond_current != cond_stack)
- _cupsLangPrintf(stderr, _("ppdc: Missing #endif at end of \"%s\"\n"), f);
+ _cupsLangPrintf(stderr, _("ppdc: Missing #endif at end of \"%s\"."), f);
}
isdefault = 0;
}
- if (!strcasecmp(temp, "}"))
+ if (!_cups_strcasecmp(temp, "}"))
{
// Close this one out...
break;
}
- else if (!strcasecmp(temp, "{"))
+ else if (!_cups_strcasecmp(temp, "{"))
{
// Open a new child...
scan_file(fp, d);
}
- else if (!strcasecmp(temp, "#if"))
+ else if (!_cups_strcasecmp(temp, "#if"))
{
if ((cond_current - cond_stack) >= 100)
{
_cupsLangPrintf(stderr,
- _("ppdc: Too many nested #if's on line %d of %s\n"),
+ _("ppdc: Too many nested #if's on line %d of %s."),
fp->line, fp->filename);
break;
}
cond_state |= PPDC_COND_SKIP;
}
}
- else if (!strcasecmp(temp, "#elif"))
+ else if (!_cups_strcasecmp(temp, "#elif"))
{
if (cond_current == cond_stack)
{
- _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s\n"),
+ _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s."),
fp->line, fp->filename);
break;
}
else
cond_temp --;
}
- else if (!strcasecmp(temp, "#else"))
+ else if (!_cups_strcasecmp(temp, "#else"))
{
if (cond_current == cond_stack)
{
- _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s\n"),
+ _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s."),
fp->line, fp->filename);
break;
}
else
cond_temp --;
}
- else if (!strcasecmp(temp, "#endif"))
+ else if (!_cups_strcasecmp(temp, "#endif"))
{
if (cond_current == cond_stack)
{
- _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s\n"),
+ _cupsLangPrintf(stderr, _("ppdc: Missing #if on line %d of %s."),
fp->line, fp->filename);
break;
}
else
cond_temp --;
}
- else if (!strcasecmp(temp, "#define"))
+ else if (!_cups_strcasecmp(temp, "#define"))
{
// Get the variable...
get_variable(fp);
}
- else if (!strcasecmp(temp, "#include"))
+ else if (!_cups_strcasecmp(temp, "#include"))
{
// #include filename
char basedir[1024], // Base directory
{
_cupsLangPrintf(stderr,
_("ppdc: Expected include filename on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
break;
}
if ((baseptr = strrchr(basedir, '/')) != NULL)
*baseptr = '\0';
else
- strcpy(basedir, ".");
+ strlcpy(basedir, ".", sizeof(basedir));
// Find the include file...
if (find_include(inctemp, basedir, incname, sizeof(incname)))
delete incfile;
if (cond_current != old_current)
- _cupsLangPrintf(stderr, _("ppdc: Missing #endif at end of \"%s\"\n"),
+ _cupsLangPrintf(stderr, _("ppdc: Missing #endif at end of \"%s\"."),
incname);
}
else
// Can't find it!
_cupsLangPrintf(stderr,
_("ppdc: Unable to find include file \"%s\" on line %d "
- "of %s\n"), inctemp, fp->line, fp->filename);
+ "of %s."), inctemp, fp->line, fp->filename);
break;
}
}
- else if (!strcasecmp(temp, "#media"))
+ else if (!_cups_strcasecmp(temp, "#media"))
{
ppdcMediaSize *m; // Media size
sizes->add(m);
}
}
- else if (!strcasecmp(temp, "#po"))
+ else if (!_cups_strcasecmp(temp, "#po"))
{
ppdcCatalog *cat; // Message catalog
po_files->add(cat);
}
}
- else if (!strcasecmp(temp, "Attribute") ||
- !strcasecmp(temp, "LocAttribute"))
+ else if (!_cups_strcasecmp(temp, "Attribute") ||
+ !_cups_strcasecmp(temp, "LocAttribute"))
{
ppdcAttr *a; // Attribute
// Get an attribute...
- a = get_attr(fp, !strcasecmp(temp, "LocAttribute"));
+ a = get_attr(fp, !_cups_strcasecmp(temp, "LocAttribute"));
if (a)
{
if (cond_state)
d->add_attr(a);
}
}
- else if (!strcasecmp(temp, "Choice"))
+ else if (!_cups_strcasecmp(temp, "Choice"))
{
// Get a choice...
c = get_choice(fp);
// Add it to the current option...
if (!o)
{
+ c->release();
_cupsLangPrintf(stderr,
_("ppdc: Choice found on line %d of %s with no "
- "Option\n"), fp->line, fp->filename);
+ "Option."), fp->line, fp->filename);
break;
}
if (isdefault)
o->set_defchoice(c);
}
- else if (!strcasecmp(temp, "ColorDevice"))
+ else if (!_cups_strcasecmp(temp, "ColorDevice"))
{
// ColorDevice boolean
if (cond_state)
else
d->color_device = get_boolean(fp);
}
- else if (!strcasecmp(temp, "ColorModel"))
+ else if (!_cups_strcasecmp(temp, "ColorModel"))
{
// Get the color model
c = get_color_model(fp);
o = NULL;
}
- else if (!strcasecmp(temp, "ColorProfile"))
+ else if (!_cups_strcasecmp(temp, "ColorProfile"))
{
ppdcProfile *p; // Color profile
d->profiles->add(p);
}
}
- else if (!strcasecmp(temp, "Copyright"))
+ else if (!_cups_strcasecmp(temp, "Copyright"))
{
// Copyright string
char copytemp[8192], // Copyright string
{
_cupsLangPrintf(stderr,
_("ppdc: Expected string after Copyright on line %d "
- "of %s\n"), fp->line, fp->filename);
+ "of %s."), fp->line, fp->filename);
break;
}
d->copyright->add(new ppdcString(copyptr));
}
}
- else if (!strcasecmp(temp, "CustomMedia"))
+ else if (!_cups_strcasecmp(temp, "CustomMedia"))
{
ppdcMediaSize *m; // Media size
if (isdefault)
d->set_default_size(m);
}
- else if (!strcasecmp(temp, "Cutter"))
+ else if (!_cups_strcasecmp(temp, "Cutter"))
{
// Cutter boolean
int have_cutter; // Have a paper cutter?
o = NULL;
}
- else if (!strcasecmp(temp, "Darkness"))
+ else if (!_cups_strcasecmp(temp, "Darkness"))
{
// Get the darkness choice...
c = get_generic(fp, "Darkness", NULL, "cupsCompression");
{
_cupsLangPrintf(stderr,
_("ppdc: Option %s defined in two different groups on "
- "line %d of %s\n"), "cupsDarkness", fp->line,
+ "line %d of %s."), "cupsDarkness", fp->line,
fp->filename);
c->release();
continue;
o = NULL;
}
- else if (!strcasecmp(temp, "DriverType"))
+ else if (!_cups_strcasecmp(temp, "DriverType"))
{
int i; // Looping var
{
_cupsLangPrintf(stderr,
_("ppdc: Expected driver type keyword following "
- "DriverType on line %d of %s\n"),
+ "DriverType on line %d of %s."),
fp->line, fp->filename);
continue;
}
continue;
for (i = 0; i < (int)(sizeof(driver_types) / sizeof(driver_types[0])); i ++)
- if (!strcasecmp(temp, driver_types[i]))
+ if (!_cups_strcasecmp(temp, driver_types[i]))
break;
if (i < (int)(sizeof(driver_types) / sizeof(driver_types[0])))
d->type = (ppdcDrvType)i;
- else if (!strcasecmp(temp, "dymo"))
+ else if (!_cups_strcasecmp(temp, "dymo"))
d->type = PPDC_DRIVER_LABEL;
else
_cupsLangPrintf(stderr,
- _("ppdc: Unknown driver type %s on line %d of %s\n"),
+ _("ppdc: Unknown driver type %s on line %d of %s."),
temp, fp->line, fp->filename);
}
- else if (!strcasecmp(temp, "Duplex"))
+ else if (!_cups_strcasecmp(temp, "Duplex"))
get_duplex(fp, d);
- else if (!strcasecmp(temp, "Filter"))
+ else if (!_cups_strcasecmp(temp, "Filter"))
{
ppdcFilter *f; // Filter
d->filters->add(f);
}
}
- else if (!strcasecmp(temp, "Finishing"))
+ else if (!_cups_strcasecmp(temp, "Finishing"))
{
// Get the finishing choice...
c = get_generic(fp, "Finishing", "OutputType", NULL);
{
_cupsLangPrintf(stderr,
_("ppdc: Option %s defined in two different groups on "
- "line %d of %s\n"), "cupsFinishing", fp->line,
+ "line %d of %s."), "cupsFinishing", fp->line,
fp->filename);
c->release();
continue;
o = NULL;
}
- else if (!strcasecmp(temp, "Font") ||
- !strcasecmp(temp, "#font"))
+ else if (!_cups_strcasecmp(temp, "Font") ||
+ !_cups_strcasecmp(temp, "#font"))
{
ppdcFont *f; // Font
f->release();
else
{
- if (!strcasecmp(temp, "#font"))
+ if (!_cups_strcasecmp(temp, "#font"))
base_fonts->add(f);
else
d->add_font(f);
}
}
}
- else if (!strcasecmp(temp, "Group"))
+ else if (!_cups_strcasecmp(temp, "Group"))
{
// Get a group...
ppdcGroup *tempg = get_group(fp, d);
g = tempg;
}
}
- else if (!strcasecmp(temp, "HWMargins"))
+ else if (!_cups_strcasecmp(temp, "HWMargins"))
{
// HWMargins left bottom right top
d->left_margin = get_measurement(fp);
d->right_margin = get_measurement(fp);
d->top_margin = get_measurement(fp);
}
- else if (!strcasecmp(temp, "InputSlot"))
+ else if (!_cups_strcasecmp(temp, "InputSlot"))
{
// Get the input slot choice...
c = get_generic(fp, "InputSlot", NULL, "MediaPosition");
}
// Add the choice to the InputSlot option...
-
+
if ((o = d->find_option_group("InputSlot", &mg)) == NULL)
{
// Create the InputSlot option...
{
_cupsLangPrintf(stderr,
_("ppdc: Option %s defined in two different groups on "
- "line %d of %s\n"), "InputSlot", fp->line,
+ "line %d of %s."), "InputSlot", fp->line,
fp->filename);
c->release();
continue;
o = NULL;
}
- else if (!strcasecmp(temp, "Installable"))
+ else if (!_cups_strcasecmp(temp, "Installable"))
{
// Get the installable option...
o = get_installable(fp);
o = NULL;
}
}
- else if (!strcasecmp(temp, "ManualCopies"))
+ else if (!_cups_strcasecmp(temp, "ManualCopies"))
{
// ManualCopies boolean
if (cond_state)
else
d->manual_copies = get_boolean(fp);
}
- else if (!strcasecmp(temp, "Manufacturer"))
+ else if (!_cups_strcasecmp(temp, "Manufacturer"))
{
// Manufacturer name
char name[256]; // Model name string
{
_cupsLangPrintf(stderr,
_("ppdc: Expected name after Manufacturer on line %d "
- "of %s\n"), fp->line, fp->filename);
+ "of %s."), fp->line, fp->filename);
break;
}
if (!cond_state)
d->set_manufacturer(name);
}
- else if (!strcasecmp(temp, "MaxSize"))
+ else if (!_cups_strcasecmp(temp, "MaxSize"))
{
// MaxSize width length
if (cond_state)
d->max_length = get_measurement(fp);
}
}
- else if (!strcasecmp(temp, "MediaSize"))
+ else if (!_cups_strcasecmp(temp, "MediaSize"))
{
// MediaSize keyword
char name[41]; // Media size name
{
_cupsLangPrintf(stderr,
_("ppdc: Expected name after MediaSize on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
break;
}
{
_cupsLangPrintf(stderr,
_("ppdc: Unknown media size \"%s\" on line %d of "
- "%s\n"), name, fp->line, fp->filename);
+ "%s."), name, fp->line, fp->filename);
break;
}
if (isdefault)
d->set_default_size(dm);
}
- else if (!strcasecmp(temp, "MediaType"))
+ else if (!_cups_strcasecmp(temp, "MediaType"))
{
// Get the media type choice...
c = get_generic(fp, "MediaType", "MediaType", "cupsMediaType");
{
_cupsLangPrintf(stderr,
_("ppdc: Option %s defined in two different groups on "
- "line %d of %s\n"), "MediaType", fp->line,
+ "line %d of %s."), "MediaType", fp->line,
fp->filename);
c->release();
continue;
o = NULL;
}
- else if (!strcasecmp(temp, "MinSize"))
+ else if (!_cups_strcasecmp(temp, "MinSize"))
{
// MinSize width length
if (cond_state)
d->min_length = get_measurement(fp);
}
}
- else if (!strcasecmp(temp, "ModelName"))
+ else if (!_cups_strcasecmp(temp, "ModelName"))
{
// ModelName name
char name[256]; // Model name string
{
_cupsLangPrintf(stderr,
_("ppdc: Expected name after ModelName on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
break;
}
if (!cond_state)
d->set_model_name(name);
}
- else if (!strcasecmp(temp, "ModelNumber"))
+ else if (!_cups_strcasecmp(temp, "ModelNumber"))
{
// ModelNumber number
if (cond_state)
else
d->model_number = get_integer(fp);
}
- else if (!strcasecmp(temp, "Option"))
+ else if (!_cups_strcasecmp(temp, "Option"))
{
// Get an option...
ppdcOption *tempo = get_option(fp, d, g);
o = tempo;
}
}
- else if (!strcasecmp(temp, "FileName"))
+ else if (!_cups_strcasecmp(temp, "FileName"))
{
// FileName name
char name[256]; // Filename string
{
_cupsLangPrintf(stderr,
_("ppdc: Expected name after FileName on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
break;
}
if (!cond_state)
d->set_file_name(name);
}
- else if (!strcasecmp(temp, "PCFileName"))
+ else if (!_cups_strcasecmp(temp, "PCFileName"))
{
// PCFileName name
char name[256]; // PC filename string
{
_cupsLangPrintf(stderr,
_("ppdc: Expected name after PCFileName on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
break;
}
if (!cond_state)
d->set_pc_file_name(name);
}
- else if (!strcasecmp(temp, "Resolution"))
+ else if (!_cups_strcasecmp(temp, "Resolution"))
{
// Get the resolution choice...
c = get_resolution(fp);
{
_cupsLangPrintf(stderr,
_("ppdc: Option %s defined in two different groups on "
- "line %d of %s\n"), "Resolution", fp->line,
+ "line %d of %s."), "Resolution", fp->line,
fp->filename);
c->release();
continue;
o = NULL;
}
- else if (!strcasecmp(temp, "SimpleColorProfile"))
+ else if (!_cups_strcasecmp(temp, "SimpleColorProfile"))
{
ppdcProfile *p; // Color profile
d->profiles->add(p);
}
}
- else if (!strcasecmp(temp, "Throughput"))
+ else if (!_cups_strcasecmp(temp, "Throughput"))
{
// Throughput number
if (cond_state)
else
d->throughput = get_integer(fp);
}
- else if (!strcasecmp(temp, "UIConstraints"))
+ else if (!_cups_strcasecmp(temp, "UIConstraints"))
{
ppdcConstraint *con; // Constraint
d->constraints->add(con);
}
}
- else if (!strcasecmp(temp, "VariablePaperSize"))
+ else if (!_cups_strcasecmp(temp, "VariablePaperSize"))
{
// VariablePaperSize boolean
if (cond_state)
else
d->variable_paper_size = get_boolean(fp);
}
- else if (!strcasecmp(temp, "Version"))
+ else if (!_cups_strcasecmp(temp, "Version"))
{
// Version string
char name[256]; // Model name string
{
_cupsLangPrintf(stderr,
_("ppdc: Expected string after Version on line %d of "
- "%s\n"), fp->line, fp->filename);
+ "%s."), fp->line, fp->filename);
break;
}
else
{
_cupsLangPrintf(stderr,
- _("ppdc: Unknown token \"%s\" seen on line %d of %s\n"),
+ _("ppdc: Unknown token \"%s\" seen on line %d of %s."),
temp, fp->line, fp->filename);
break;
}
{
switch (d->type)
{
- case PPDC_DRIVER_ESCP :
- cupsFilePuts(fp, " ModelNumber (");
-
- if (d->model_number & ESCP_DOTMATRIX)
- cupsFilePuts(fp, " $ESCP_DOTMATRIX");
- if (d->model_number & ESCP_MICROWEAVE)
- cupsFilePuts(fp, " $ESCP_MICROWEAVE");
- if (d->model_number & ESCP_STAGGER)
- cupsFilePuts(fp, " $ESCP_STAGGER");
- if (d->model_number & ESCP_ESCK)
- cupsFilePuts(fp, " $ESCP_ESCK");
- if (d->model_number & ESCP_EXT_UNITS)
- cupsFilePuts(fp, " $ESCP_EXT_UNITS");
- if (d->model_number & ESCP_EXT_MARGINS)
- cupsFilePuts(fp, " $ESCP_EXT_MARGINS");
- if (d->model_number & ESCP_USB)
- cupsFilePuts(fp, " $ESCP_USB");
- if (d->model_number & ESCP_PAGE_SIZE)
- cupsFilePuts(fp, " $ESCP_PAGE_SIZE");
- if (d->model_number & ESCP_RASTER_ESCI)
- cupsFilePuts(fp, " $ESCP_RASTER_ESCI");
- if (d->model_number & ESCP_REMOTE)
- cupsFilePuts(fp, " $ESCP_REMOTE");
-
- cupsFilePuts(fp, ")\n");
- break;
-
- case PPDC_DRIVER_PCL :
- cupsFilePuts(fp, " ModelNumber (");
-
- if (d->model_number & PCL_PAPER_SIZE)
- cupsFilePuts(fp, " $PCL_PAPER_SIZE");
- if (d->model_number & PCL_INKJET)
- cupsFilePuts(fp, " $PCL_INKJET");
- if (d->model_number & PCL_RASTER_END_COLOR)
- cupsFilePuts(fp, " $PCL_RASTER_END_COLOR");
- if (d->model_number & PCL_RASTER_CID)
- cupsFilePuts(fp, " $PCL_RASTER_CID");
- if (d->model_number & PCL_RASTER_CRD)
- cupsFilePuts(fp, " $PCL_RASTER_CRD");
- if (d->model_number & PCL_RASTER_SIMPLE)
- cupsFilePuts(fp, " $PCL_RASTER_SIMPLE");
- if (d->model_number & PCL_RASTER_RGB24)
- cupsFilePuts(fp, " $PCL_RASTER_RGB24");
- if (d->model_number & PCL_PJL)
- cupsFilePuts(fp, " $PCL_PJL");
- if (d->model_number & PCL_PJL_PAPERWIDTH)
- cupsFilePuts(fp, " $PCL_PJL_PAPERWIDTH");
- if (d->model_number & PCL_PJL_HPGL2)
- cupsFilePuts(fp, " $PCL_PJL_HPGL2");
- if (d->model_number & PCL_PJL_PCL3GUI)
- cupsFilePuts(fp, " $PCL_PJL_PCL3GUI");
- if (d->model_number & PCL_PJL_RESOLUTION)
- cupsFilePuts(fp, " $PCL_PJL_RESOLUTION");
-
- cupsFilePuts(fp, ")\n");
- break;
-
case PPDC_DRIVER_LABEL :
cupsFilePuts(fp, " ModelNumber ");
return (0);
}
-
-
-//
-// End of "$Id$".
-//