# HG changeset patch # User Binki # Date 2009-04-06 21:26:48 # Node ID df72c806c51255393cd49d4b80d8b07871629cc3 # Parent 90e81c5eddb62e2be590aa8f6e1ec22ad773b1d0 options.c: started renovation of options.c diff --git a/src/common/options.c b/src/common/options.c --- a/src/common/options.c +++ b/src/common/options.c @@ -20,10 +20,20 @@ #include "options.h" #include +#include +#include -int options_init(int argc, char *argv[], cfg_t **mycfg, struct options_common **allopts); +int options_init(int argc, char *argv[], cfg_t **mycfg, struct options_common **allopts) { + char *configfile; + configfile = strdup(SYSCONFDIR "/distren.conf"); + if(!configfile) + { + perror("strdup"); + return 1; + } + /* Conf File Parser */ cfg_opt_t opts[] = { @@ -32,8 +42,18 @@ int options_init(int argc, char *argv[], }; cfg_t *cfg; cfg = cfg_init(opts, CFGF_NONE); - if(cfg_parse(cfg, "distren.conf") == CFG_PARSE_ERROR) - return 1; + switch(cfg_parse(cfg, configfile)) + { + default: + fprintf(stderr, "cfg_parse returned an unknown error code\n"); + case CFG_FILE_ERROR: + case CFG_PARSE_ERROR: + return 1; + + case CFG_SUCCESS: + break; + } + /* End Conf File Parser */ printf("Client Username: %s\n", cfg_getstr(cfg, "username"));