// created from driver information files, and dynamically generated PPD files
// using driver helper programs.
//
-// Copyright © 2020-2024 by OpenPrinting.
+// Copyright © 2020-2025 by OpenPrinting.
// Copyright © 2007-2019 by Apple Inc.
// Copyright © 1997-2007 by Easy Software Products.
//
static int load_drivers(cups_array_t *include, cups_array_t *exclude);
static int load_drv(const char *filename, const char *name, cups_file_t *fp, time_t mtime, off_t size);
static void load_ppd(const char *filename, const char *name, const char *scheme, struct stat *fileinfo, ppd_info_t *ppd, cups_file_t *fp, off_t end);
-static int load_ppds(const char *d, const char *p, int descend);
+static void load_ppds(const char *d, const char *p, int descend);
static void load_ppds_dat(char *filename, size_t filesize, int verbose);
static int load_tar(const char *filename, const char *name, cups_file_t *fp, time_t mtime, off_t size);
static int read_tar(cups_file_t *fp, char *name, size_t namesize, struct stat *info);
// 'load_ppds()' - Load PPD files recursively.
//
-static int // O - 1 on success, 0 on failure
+static void
load_ppds(const char *d, // I - Actual directory
const char *p, // I - Virtual path in name
int descend) // I - Descend into directories?
fprintf(stderr, "ERROR: [cups-driverd] Unable to stat \"%s\": %s\n", d,
strerror(errno));
- return (0);
+ return;
}
else if (cupsArrayFind(Inodes, &dinfo))
{
fprintf(stderr, "ERROR: [cups-driverd] Skipping \"%s\": loop detected!\n",
d);
- return (1);
+ return;
}
/*
if (_cupsFileCheck(d, _CUPS_FILE_CHECK_DIRECTORY, !geteuid(),
_cupsFileCheckFilter, NULL))
- return (0);
+ return;
if ((dir = cupsDirOpen(d)) == NULL)
{
"ERROR: [cups-driverd] Unable to open PPD directory \"%s\": %s\n",
d, strerror(errno));
- return (0);
+ return;
}
fprintf(stderr, "DEBUG: [cups-driverd] Loading \"%s\"...\n", d);
if (descend)
{
- if (!load_ppds(filename, name, 1))
- {
- cupsDirClose(dir);
- return (1);
- }
+ load_ppds(filename, name, 1);
}
else if ((ptr = filename + strlen(filename) - 14) > filename &&
!strcmp(ptr, ".printerDriver"))
}
cupsDirClose(dir);
-
- return (1);
}