Merge branch 'collectd-4.4' into collectd-4.5
[collectd.git] / src / configfile.c
index 1df9111..b1030fe 100644 (file)
@@ -182,8 +182,7 @@ static int dispatch_global_option (const oconfig_item_t *ci)
        else if (ci->values[0].type == OCONFIG_TYPE_NUMBER)
        {
                char tmp[128];
-               snprintf (tmp, sizeof (tmp), "%lf", ci->values[0].value.number);
-               tmp[127] = '\0';
+               ssnprintf (tmp, sizeof (tmp), "%lf", ci->values[0].value.number);
                return (global_option_set (ci->key, tmp));
        }
        else if (ci->values[0].type == OCONFIG_TYPE_BOOLEAN)
@@ -258,13 +257,13 @@ static int dispatch_value_plugin (const char *plugin, oconfig_item_t *ci)
                int status = -1;
 
                if (ci->values[i].type == OCONFIG_TYPE_STRING)
-                       status = snprintf (buffer_ptr, buffer_free, " %s",
+                       status = ssnprintf (buffer_ptr, buffer_free, " %s",
                                        ci->values[i].value.string);
                else if (ci->values[i].type == OCONFIG_TYPE_NUMBER)
-                       status = snprintf (buffer_ptr, buffer_free, " %lf",
+                       status = ssnprintf (buffer_ptr, buffer_free, " %lf",
                                        ci->values[i].value.number);
                else if (ci->values[i].type == OCONFIG_TYPE_BOOLEAN)
-                       status = snprintf (buffer_ptr, buffer_free, " %s",
+                       status = ssnprintf (buffer_ptr, buffer_free, " %s",
                                        ci->values[i].value.boolean
                                        ? "true" : "false");
 
@@ -277,7 +276,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));
-} /* int plugin_conf_dispatch */
+} /* int dispatch_value_plugin */
 
 static int dispatch_value (const oconfig_item_t *ci)
 {
@@ -548,7 +547,7 @@ static oconfig_item_t *cf_read_dir (const char *dir, int depth)
                if ((de->d_name[0] == '.') || (de->d_name[0] == '\0'))
                        continue;
 
-               status = snprintf (name, sizeof (name), "%s/%s",
+               status = ssnprintf (name, sizeof (name), "%s/%s",
                                dir, de->d_name);
                if (status >= sizeof (name))
                {
@@ -888,7 +887,11 @@ int cf_read (char *filename)
                        dispatch_block (conf->children + i);
        }
 
+       oconfig_free (conf);
+
+       /* Read the default types.db if no `TypesDB' option was given. */
        if (cf_default_typesdb)
-               read_types_list (PLUGINDIR"/types.db"); /* FIXME: Configure path */
+               read_types_list (PLUGINDIR"/types.db");
+
        return (0);
 } /* int cf_read */