summaryrefslogtreecommitdiffstats
path: root/lib/parse_ini.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/parse_ini.c')
-rw-r--r--lib/parse_ini.c25
1 files changed, 10 insertions, 15 deletions
diff --git a/lib/parse_ini.c b/lib/parse_ini.c
index f352d78..2e42df7 100644
--- a/lib/parse_ini.c
+++ b/lib/parse_ini.c
@@ -30,8 +30,6 @@
30#include <sys/stat.h> 30#include <sys/stat.h>
31#include <unistd.h> 31#include <unistd.h>
32 32
33/* TODO: die like N::P if config file is not found */
34
35/* np_ini_info contains the result of parsing a "locator" in the format 33/* np_ini_info contains the result of parsing a "locator" in the format
36 * [stanza_name][@config_filename] (check_foo@/etc/foo.ini, for example) 34 * [stanza_name][@config_filename] (check_foo@/etc/foo.ini, for example)
37 */ 35 */
@@ -112,20 +110,17 @@ np_arg_list* np_get_defaults(const char *locator, const char *default_section){
112 np_ini_info i; 110 np_ini_info i;
113 111
114 parse_locator(locator, default_section, &i); 112 parse_locator(locator, default_section, &i);
115 /* if a file was specified or if we're using the default file */ 113 if(strcmp(i.file, "-")==0){
116 if(i.file != NULL && strlen(i.file) > 0){ 114 inifile=stdin;
117 if(strcmp(i.file, "-")==0){ 115 } else {
118 inifile=stdin; 116 inifile=fopen(i.file, "r");
119 } else {
120 inifile=fopen(i.file, "r");
121 }
122 if(inifile==NULL) die(STATE_UNKNOWN, "%s\n", _("Can't read config file"));
123 if(read_defaults(inifile, i.stanza, &defaults)==FALSE)
124 die(STATE_UNKNOWN, _("Invalid section '%s' in config file '%s'\n"), i.stanza, i.file);
125
126 free(i.file);
127 if(inifile!=stdin) fclose(inifile);
128 } 117 }
118 if(inifile==NULL) die(STATE_UNKNOWN, "%s\n", _("Can't read config file"));
119 if(read_defaults(inifile, i.stanza, &defaults)==FALSE)
120 die(STATE_UNKNOWN, _("Invalid section '%s' in config file '%s'\n"), i.stanza, i.file);
121
122 free(i.file);
123 if(inifile!=stdin) fclose(inifile);
129 free(i.stanza); 124 free(i.stanza);
130 return defaults; 125 return defaults;
131} 126}