diff options
author | Thomas Guyot-Sionnest <dermoth@users.sourceforge.net> | 2008-11-04 17:41:53 +0000 |
---|---|---|
committer | Thomas Guyot-Sionnest <dermoth@users.sourceforge.net> | 2008-11-04 17:41:53 +0000 |
commit | 51ec51a8dcbe003a0fe5cd0ad1d78f5590f5d40f (patch) | |
tree | 8d7b3ba9abc238ff7f303f17d874d8935e52c846 /lib | |
parent | 47fddad5fd5808cd5540a9c8c1a72d8a66348546 (diff) | |
download | monitoring-plugins-51ec51a8dcbe003a0fe5cd0ad1d78f5590f5d40f.tar.gz |
Make extra-opts (C plugins) behave more like N::P:
N::P allows both '#' and ';' for comments. Extra-opts used to allow only '#', it now allows both (';' is the standard for ini files)
Extra-opts does not allow trailing comments anymore (like N::P)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@2063 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'lib')
-rw-r--r-- | lib/parse_ini.c | 7 | ||||
-rw-r--r-- | lib/tests/plugin.ini | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/lib/parse_ini.c b/lib/parse_ini.c index 654452d8..57321753 100644 --- a/lib/parse_ini.c +++ b/lib/parse_ini.c | |||
@@ -132,6 +132,7 @@ static int read_defaults(FILE *f, const char *stanza, np_arg_list **opts){ | |||
132 | if(isspace(c)) continue; | 132 | if(isspace(c)) continue; |
133 | switch(c){ | 133 | switch(c){ |
134 | /* globble up coment lines */ | 134 | /* globble up coment lines */ |
135 | case ';': | ||
135 | case '#': | 136 | case '#': |
136 | GOBBLE_TO(f, c, '\n'); | 137 | GOBBLE_TO(f, c, '\n'); |
137 | break; | 138 | break; |
@@ -232,10 +233,8 @@ static int add_option(FILE *f, np_arg_list **optlst){ | |||
232 | if(optptr==eqptr) die(STATE_UNKNOWN, _("Config file error\n")); | 233 | if(optptr==eqptr) die(STATE_UNKNOWN, _("Config file error\n")); |
233 | /* continue from '=' to start of value or EOL */ | 234 | /* continue from '=' to start of value or EOL */ |
234 | for(valptr=eqptr+1; valptr<lineend && isspace(*valptr); valptr++); | 235 | for(valptr=eqptr+1; valptr<lineend && isspace(*valptr); valptr++); |
235 | /* continue to the end of value (FIXME: watching for trailing comments) */ | 236 | /* continue to the end of value */ |
236 | for(valend=valptr; valend<lineend; valend++) | 237 | for(valend=valptr; valend<lineend; valend++); |
237 | /* FIXME: N::P doesn't allow comments here. Remove next line and parse_ini won't either */ | ||
238 | if(*valend=='#') break; | ||
239 | --valend; | 238 | --valend; |
240 | /* Finally trim off trailing spaces */ | 239 | /* Finally trim off trailing spaces */ |
241 | for(valend; isspace(*valend); valend--); | 240 | for(valend; isspace(*valend); valend--); |
diff --git a/lib/tests/plugin.ini b/lib/tests/plugin.ini index e22f8bdb..511fd9f6 100644 --- a/lib/tests/plugin.ini +++ b/lib/tests/plugin.ini | |||
@@ -1,7 +1,10 @@ | |||
1 | # Non-standard (but accepted) comment | ||
2 | ; standard ini comment | ||
1 | 3 | ||
2 | [check_mysql] | 4 | [check_mysql] |
3 | username=operator | 5 | username=operator |
4 | password=secret # Remember to change later | 6 | ; comment in the middle |
7 | password=secret | ||
5 | 8 | ||
6 | [section_twice] | 9 | [section_twice] |
7 | foo=bar | 10 | foo=bar |