summaryrefslogtreecommitdiff
path: root/ppdc/ppdpo.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'ppdc/ppdpo.cxx')
-rw-r--r--ppdc/ppdpo.cxx63
1 files changed, 29 insertions, 34 deletions
diff --git a/ppdc/ppdpo.cxx b/ppdc/ppdpo.cxx
index 14e96d0..ab53bf4 100644
--- a/ppdc/ppdpo.cxx
+++ b/ppdc/ppdpo.cxx
@@ -1,22 +1,16 @@
//
-// "$Id: ppdpo.cxx 11173 2013-07-23 12:31:34Z msweet $"
+// "$Id: ppdpo.cxx 12633 2015-05-15 19:16:58Z msweet $"
//
-// PPD file message catalog program for the CUPS PPD Compiler.
+// PPD file message catalog program for the CUPS PPD Compiler.
//
-// Copyright 2007-2012 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/".
//
//
@@ -58,7 +52,7 @@ main(int argc, // I - Number of command-line arguments
// Scan the command-line...
catalog = new ppdcCatalog("en");
- src = 0;
+ src = new ppdcSource();
verbose = 0;
outfile = 0;
@@ -123,23 +117,28 @@ main(int argc, // I - Number of command-line arguments
_("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."),
- 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...
- src->release();
+ d = (ppdcDriver *)src->drivers->next();
}
+ }
+ else
+ usage();
+
+ // Delete the printer driver information...
+ src->release();
// Write the message catalog...
if (!outfile)
@@ -149,10 +148,6 @@ main(int argc, // I - Number of command-line arguments
catalog->release();
- // If no drivers have been loaded, display the program usage message.
- if (!src)
- usage();
-
// Return with no errors.
return (0);
}
@@ -263,5 +258,5 @@ usage(void)
//
-// End of "$Id: ppdpo.cxx 11173 2013-07-23 12:31:34Z msweet $".
+// End of "$Id: ppdpo.cxx 12633 2015-05-15 19:16:58Z msweet $".
//