projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
configure.in: Check for `mysql_get_server_version' in libmyql.
[collectd.git]
/
src
/
configfile.c
diff --git
a/src/configfile.c
b/src/configfile.c
index
d483032
..
580b24b
100644
(file)
--- a/
src/configfile.c
+++ b/
src/configfile.c
@@
-155,7
+155,8
@@
static int cf_dispatch (const char *type, const char *orig_key,
for (i = 0; i < cf_cb->keys_num; i++)
{
for (i = 0; i < cf_cb->keys_num; i++)
{
- if (strcasecmp (cf_cb->keys[i], key) == 0)
+ if ((cf_cb->keys[i] != NULL)
+ && (strcasecmp (cf_cb->keys[i], key) == 0))
{
ret = (*cf_cb->callback) (key, value);
break;
{
ret = (*cf_cb->callback) (key, value);
break;
@@
-204,13
+205,18
@@
static int dispatch_value_typesdb (const oconfig_item_t *ci)
cf_default_typesdb = 0;
cf_default_typesdb = 0;
- if (ci->values_num < 1)
+ if (ci->values_num < 1) {
+ ERROR ("configfile: `TypesDB' needs at least one argument.");
return (-1);
return (-1);
+ }
for (i = 0; i < ci->values_num; ++i)
{
for (i = 0; i < ci->values_num; ++i)
{
- if (OCONFIG_TYPE_STRING != ci->values[i].type)
+ if (OCONFIG_TYPE_STRING != ci->values[i].type) {
+ WARNING ("configfile: TypesDB: Skipping %i. argument which "
+ "is not a string.", i + 1);
continue;
continue;
+ }
read_types_list (ci->values[i].value.string);
}
read_types_list (ci->values[i].value.string);
}
@@
-276,7
+282,7
@@
static int dispatch_value_plugin (const char *plugin, oconfig_item_t *ci)
buffer_ptr = buffer + 1;
return (cf_dispatch (plugin, ci->key, buffer_ptr));
buffer_ptr = buffer + 1;
return (cf_dispatch (plugin, ci->key, buffer_ptr));
-} /* int
plugin_conf_dispatch
*/
+} /* int
dispatch_value_plugin
*/
static int dispatch_value (const oconfig_item_t *ci)
{
static int dispatch_value (const oconfig_item_t *ci)
{
@@
-887,7
+893,11
@@
int cf_read (char *filename)
dispatch_block (conf->children + i);
}
dispatch_block (conf->children + i);
}
+ oconfig_free (conf);
+
+ /* Read the default types.db if no `TypesDB' option was given. */
if (cf_default_typesdb)
if (cf_default_typesdb)
- read_types_list (PLUGINDIR"/types.db"); /* FIXME: Configure path */
+ read_types_list (PLUGINDIR"/types.db");
+
return (0);
} /* int cf_read */
return (0);
} /* int cf_read */