#include <iostream>
#ifndef WIN32
#include <sysexits.h>
#endif
#include <cmdline.h>
#include <parseoptions.h>
#include <config.h>
parseoptions_baset::parseoptions_baset()
{
optstring="?hb:";
}
parseoptions_baset::parseoptions_baset(const char *_optstring)
{
optstring="?hb:";
optstring+=_optstring;
}
void parseoptions_baset::help()
{
}
void parseoptions_baset::usage_error()
{
std::cerr << "Usage error!\n\n";
help();
}
int parseoptions_baset::parseoptions(int argc, char **argv)
{
if(cmdline.parse(argc, argv, optstring.c_str()))
{
usage_error();
return EX_USAGE;
}
{
const char *val=cmdline.getval('b');
if(val!=NULL) boxname=val;
}
if(cmdline.isset('?') || cmdline.isset('h'))
{
help();
return EX_OK;
}
if(config.read(boxname.c_str()))
{
std::cerr << "failed to read configuration\n";
return EX_CONFIG;
}
return doit();
}
syntax highlighted by Code2HTML, v. 0.9.1