//
// "$Id$"
//
-// PPD file message catalog program for the CUPS PPD Compiler.
+// PPD file message catalog program for the CUPS PPD Compiler.
//
-// Copyright 2007-2008 by Apple Inc.
-// Copyright 2002-2005 by Easy Software Products.
+// Copyright 2007-2015 by Apple Inc.
+// Copyright 2002-2005 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:
-//
-// main() - Main entry for the PPD compiler.
-// add_ui_strings() - Add all UI strings from the driver.
-// usage() - Show usage and exit.
+// 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/".
//
//
// Include necessary headers...
//
-#include "ppdc.h"
+#include "ppdc-private.h"
#include <sys/stat.h>
#include <sys/types.h>
-#include <cups/i18n.h>
//
// Scan the command-line...
catalog = new ppdcCatalog("en");
- src = 0;
+ src = new ppdcSource();
verbose = 0;
outfile = 0;
if (verbose > 1)
_cupsLangPrintf(stdout,
- _("ppdc: Adding include directory \"%s\"...\n"),
+ _("ppdc: Adding include directory \"%s\"."),
argv[i]);
ppdcSource::add_include(argv[i]);
// Open and load the driver info file...
if (verbose > 1)
_cupsLangPrintf(stdout,
- _("ppdc: Loading driver information file \"%s\"...\n"),
+ _("ppdc: Loading driver information file \"%s\"."),
argv[i]);
- src = new ppdcSource(argv[i]);
+ src->read_file(argv[i]);
+ }
- // Add UI strings...
- for (d = (ppdcDriver *)src->drivers->first();
- d;
- d = (ppdcDriver *)src->drivers->next())
- {
- if (verbose)
- _cupsLangPrintf(stderr,
- _("ppdc: Adding/updating UI text from %s...\n"),
- argv[i]);
+ // If no drivers have been loaded, display the program usage message.
+ if ((d = (ppdcDriver *)src->drivers->first()) != NULL)
+ {
+ // Add UI strings...
+ while (d != NULL)
+ {
+ if (verbose)
+ _cupsLangPrintf(stderr, _("ppdc: Adding/updating UI text from %s."), argv[i]);
- add_ui_strings(d, catalog);
- }
+ add_ui_strings(d, catalog);
- // Delete the printer driver information...
- delete src;
+ d = (ppdcDriver *)src->drivers->next();
}
+ }
+ else
+ usage();
+
+ // Delete the printer driver information...
+ src->release();
// Write the message catalog...
if (!outfile)
else
catalog->save_messages(outfile);
- delete catalog;
-
- // If no drivers have been loaded, display the program usage message.
- if (!src)
- usage();
+ catalog->release();
// Return with no errors.
return (0);
if (!g->options->count)
continue;
- if (strcasecmp(g->name->value, "General"))
+ if (_cups_strcasecmp(g->name->value, "General"))
catalog->add_message(g->text->value);
for (o = (ppdcOption *)g->options->first();
if (!o->choices->count)
continue;
- if (o->text->value && strcmp(o->name->value, o->text->value))
+ if (o->text->value)
catalog->add_message(o->text->value);
else
catalog->add_message(o->name->value);
for (c = (ppdcChoice *)o->choices->first();
c;
c = (ppdcChoice *)o->choices->next())
- if (c->text->value && strcmp(c->name->value, c->text->value))
+ if (c->text->value)
catalog->add_message(c->text->value);
else
catalog->add_message(c->name->value);
static void
usage(void)
{
- _cupsLangPuts(stdout,
- _("Usage: ppdpo [options] -o filename.po filename.drv [ ... "
- "filenameN.drv ]\n"
- "Options:\n"
- " -D name=value Set named variable to value.\n"
- " -I include-dir Add include directory to search path.\n"
- " -v Be verbose (more v's for more "
- "verbosity).\n"));
+ _cupsLangPuts(stdout, _("Usage: ppdpo [options] -o filename.po filename.drv "
+ "[ ... filenameN.drv ]"));
+ _cupsLangPuts(stdout, _("Options:"));
+ _cupsLangPuts(stdout, _(" -D name=value Set named variable to "
+ "value."));
+ _cupsLangPuts(stdout, _(" -I include-dir Add include directory to "
+ "search path."));
+ _cupsLangPuts(stdout, _(" -v Be verbose."));
exit(1);
}