X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fconf.c;h=35f0502b743b007e0591527aabef8a534a24bf08;hb=7093c3275e649ae60935fe07bb6b44398b3ca4c0;hp=c2e5f1b4fa14dd3599b5c405d2cdeded05a95049;hpb=eb3d130d22a4235cbfc8fd547e4e303780149752;p=libucw.git diff --git a/lib/conf.c b/lib/conf.c index c2e5f1b4..35f0502b 100644 --- a/lib/conf.c +++ b/lib/conf.c @@ -94,7 +94,7 @@ struct unit { static const struct unit units[] = { { 'd', 86400, 1 }, - { 'h', 1440, 1 }, + { 'h', 3600, 1 }, { 'k', 1000, 1 }, { 'm', 1000000, 1 }, { 'g', 1000000000, 1 }, @@ -339,9 +339,14 @@ int cf_getopt(int argc,char * const argv[], int *longindex) { int res; + static int other_options; do{ res=getopt_long(argc,argv,shortopts,longopts,longindex); + if(res == 'S' || res == 'C') { + if(other_options) + die("The -S and -C options must precede all other arguments"); + } if(res=='S'){ byte *sect,*name,*value; byte *c; @@ -370,7 +375,7 @@ int cf_getopt(int argc,char * const argv[], msg=cf_set_item(sect,name,value); } if(msg) - die("Invalid command line argument %s.%s=%s: %s",sect,name,value,msg); + die("Invalid command line argument -S%s.%s=%s: %s",sect,name,value,msg); }else if(res=='C'){ cf_read(optarg); @@ -378,6 +383,7 @@ int cf_getopt(int argc,char * const argv[], /* unhandled option or end of options */ if(cfdeffile) cf_read(cfdeffile); + other_options++; return res; } }while(1);