Changeset - df72c806c512
[Not reviewed]
default
0 1 0
Nathan Brink (binki) - 16 years ago 2009-04-06 21:26:48
ohnobinki@ohnopublishing.net
options.c: started renovation of options.c
1 file changed with 23 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/common/options.c
Show inline comments
 
/*
 
  Copyright 2008 Nathan Phillip Brink, Ethan Zonca
 

	
 
  This file is a part of DistRen.
 

	
 
  DistRen is free software: you can redistribute it and/or modify
 
  it under the terms of the GNU Affero General Public License as published by
 
  the Free Software Foundation, either version 3 of the License, or
 
  (at your option) any later version.
 

	
 
  DistRen is distributed in the hope that it will be useful,
 
  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
  GNU Affero General Public License for more details.
 

	
 
  You should have received a copy of the GNU Affero General Public License
 
  along with DistRen.  If not, see <http://www.gnu.org/licenses/>.
 
*/
 

	
 
#include "options.h"
 

	
 
#include <confuse.h>
 
#include <string.h>
 
#include <stdio.h>
 

	
 
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[] =
 
    {
 
      CFG_STR("username", "guest", CFGF_NONE),
 
      CFG_END()
 
    };
 
  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"));
 
  cfg_free(cfg);
 
  return 0;
 
}
0 comments (0 inline, 0 general)