summaryrefslogtreecommitdiff
path: root/ppdc/ppdc-source.cxx
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2008-07-03 05:38:29 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2008-07-03 05:38:29 +0000
commit4509bb49335b3edfdb1b03d83d6cd05890968b59 (patch)
treeddaed95be285a8c010203ca908b7ebeb66056cc2 /ppdc/ppdc-source.cxx
parent75bd9771f6e44fdd887ee90faac46f403aefc0fc (diff)
downloadcups-4509bb49335b3edfdb1b03d83d6cd05890968b59.tar.gz
Merge changes from CUPS 1.4svn-r7715.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@834 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'ppdc/ppdc-source.cxx')
-rw-r--r--ppdc/ppdc-source.cxx13
1 files changed, 8 insertions, 5 deletions
diff --git a/ppdc/ppdc-source.cxx b/ppdc/ppdc-source.cxx
index ac64a1a30..92a42f11d 100644
--- a/ppdc/ppdc-source.cxx
+++ b/ppdc/ppdc-source.cxx
@@ -91,7 +91,8 @@ const char *ppdcSource::driver_types[] =
// 'ppdcSource::ppdcSource()' - Load a driver source file.
//
-ppdcSource::ppdcSource(const char *f) // I - File to read
+ppdcSource::ppdcSource(const char *f, // I - File to read
+ cups_file_t *ffp)// I - File pointer to use
{
filename = new ppdcString(f);
base_fonts = new ppdcArray();
@@ -104,7 +105,7 @@ ppdcSource::ppdcSource(const char *f) // I - File to read
cond_stack[0] = PPDC_COND_NORMAL;
if (f)
- read_file(f);
+ read_file(f, ffp);
}
@@ -1616,7 +1617,8 @@ ppdcSource::get_po(ppdcFile *fp) // I - File to read
strcpy(basedir, ".");
// Find the po file...
- if (find_include(poname, basedir, pofilename, sizeof(pofilename)))
+ if (!pofilename[0] ||
+ find_include(poname, basedir, pofilename, sizeof(pofilename)))
{
// Found it, so load it...
cat = new ppdcCatalog(locale, pofilename);
@@ -2284,9 +2286,10 @@ ppdcSource::quotef(cups_file_t *fp, // I - File to write to
//
void
-ppdcSource::read_file(const char *f) // I - File to read
+ppdcSource::read_file(const char *f, // I - File to read
+ cups_file_t *ffp) // I - File pointer to use
{
- ppdcFile *fp = new ppdcFile(f);
+ ppdcFile *fp = new ppdcFile(f, ffp);
scan_file(fp);
delete fp;