#include "ppdc-private.h"
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
static void usage(void);
int main(int argc, char *argv[]) {
int i; char *opt; const char *srcfile; ppdcSource *src;
_cupsSetLocale(argv);
srcfile = NULL;
src = NULL;
for (i = 1; i < argc; i ++)
if (argv[i][0] == '-')
{
for (opt = argv[i] + 1; *opt; opt ++)
switch (*opt)
{
case 'o' : if (srcfile || src)
usage();
i ++;
if (i >= argc)
usage();
srcfile = argv[i];
break;
case 'I' : i ++;
if (i >= argc)
usage();
ppdcSource::add_include(argv[i]);
break;
default : usage();
break;
}
}
else
{
if (!srcfile)
srcfile = "ppdi.drv";
if (!src)
{
if (access(srcfile, 0))
src = new ppdcSource();
else
src = new ppdcSource(srcfile);
}
src->import_ppd(argv[i]);
}
if (!src)
usage();
src->write_file(srcfile);
src->release();
return (0);
}
static void
usage(void)
{
_cupsLangPuts(stdout, _("Usage: ppdi [options] filename.ppd [ ... "
"filenameN.ppd ]"));
_cupsLangPuts(stdout, _("Options:"));
_cupsLangPuts(stdout, _(" -I include-dir Add include directory to "
"search path."));
_cupsLangPuts(stdout, _(" -o filename.drv Set driver information "
"file (otherwise ppdi.drv)."));
exit(1);
}