Ejemplo n.º 1
0
/******************************************************************************

	get_options()

	Get the options.

******************************************************************************/
void get_options(int argc, char *argv[])
{
    arg_list_t al;

    // start defaults
    start_defaults(argc, argv);

    // default file arguments
    init_args(&al);
    add_arg(&al, "ignore");
    read_defaults(&al);
    parse_args(al.argc, al.argv);
    free_args(&al);

    // command-line arguments
    parse_args(argc, argv);

    // finish defaults
    finish_defaults();
}
Ejemplo n.º 2
0
/* this is the externally visible function used by extra_opts */
np_arg_list* np_get_defaults(const char *locator, const char *default_section){
	FILE *inifile=NULL;
	np_arg_list *defaults=NULL;
	np_ini_info i;

	parse_locator(locator, default_section, &i);
	/* if a file was specified or if we're using the default file */
	if(i.file != NULL && strlen(i.file) > 0){
		if(strcmp(i.file, "-")==0){
			inifile=stdin;
		} else {
			inifile=fopen(i.file, "r");
		}
		if(inifile==NULL) die(STATE_UNKNOWN, _("Can't read config file"));
		if(read_defaults(inifile, i.stanza, &defaults)==FALSE)
			die(STATE_UNKNOWN, _("Invalid section '%s' in config file '%s'\n"), i.stanza, i.file);

		free(i.file);
		if(inifile!=stdin) fclose(inifile);
	}
	free(i.stanza);
	return defaults;
}