connection, leading to a crash (STR #3200)
- Localization updates (STR #3352, STR #3409, STR #3422)
- Documentation update (STR #3451)
+ - The PPD compiler did not correctly add the manufacturer to the output
+ filename when using the "-m" option (STR #3469)
- The IPP backend did not handle authentication properly for the Get-
Printer-Attributes operation (STR 3458)
- Getting SNMP values larger than 127 bytes did not work.
*
* IPP backend for the Common UNIX Printing System (CUPS).
*
- * Copyright 2007-2009 by Apple Inc.
+ * Copyright 2007-2010 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
//
// Source class for the CUPS PPD Compiler.
//
-// Copyright 2007-2009 by Apple Inc.
+// Copyright 2007-2010 by Apple Inc.
// Copyright 2002-2007 by Easy Software Products.
//
// These coded instructions, statements, and computer programs are the
for (d = (ppdcDriver *)drivers->first(); d; d = (ppdcDriver *)drivers->next())
{
// Start the driver...
- cupsFilePrintf(fp, "\n// %s %s\n", d->manufacturer->value, d->model_name->value);
+ cupsFilePrintf(fp, "\n// %s %s\n", d->manufacturer->value,
+ d->model_name->value);
cupsFilePuts(fp, "{\n");
// Write the copyright stings...
//
// PPD file compiler main entry for the CUPS PPD Compiler.
//
-// Copyright 2007-2008 by Apple Inc.
+// Copyright 2007-2010 by Apple Inc.
// Copyright 2002-2007 by Easy Software Products.
//
// These coded instructions, statements, and computer programs are the
char *opt, // Current option
*value, // Value in option
*outname, // Output filename
+ make_model[1024],
+ // Make and model
pcfilename[1024],
// Lowercase pcfilename
filename[1024]; // PPD filename
{
// Write the PPD file for this driver...
if (use_model_name)
- outname = d->model_name->value;
+ {
+ if (!strncasecmp(d->model_name->value, d->manufacturer->value,
+ strlen(d->manufacturer->value)))
+ {
+ // Model name already starts with the manufacturer...
+ outname = d->model_name->value;
+ }
+ else
+ {
+ // Add manufacturer to the front of the model name...
+ snprintf(make_model, sizeof(make_model), "%s %s",
+ d->manufacturer->value, d->model_name->value);
+ outname = make_model;
+ }
+ }
else if (d->file_name)
outname = d->file_name->value;
else