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 |
