src/configfile.c: Improve a debugging message.
[collectd.git] / src / configfile.c
index 0f49de2..0e28e92 100644 (file)
@@ -172,7 +172,7 @@ static int cf_dispatch (const char *type, const char *orig_key,
        free (key);
        free (value);
 
-       DEBUG ("return (%i)", ret);
+       DEBUG ("cf_dispatch: return (%i)", ret);
 
        return (ret);
 } /* int cf_dispatch */
@@ -208,13 +208,18 @@ static int dispatch_value_typesdb (const oconfig_item_t *ci)
 
        cf_default_typesdb = 0;
 
-       if (ci->values_num < 1)
+       if (ci->values_num < 1) {
+               ERROR ("configfile: `TypesDB' needs at least one argument.");
                return (-1);
+       }
 
        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;
+               }
 
                read_types_list (ci->values[i].value.string);
        }
@@ -555,7 +560,7 @@ static oconfig_item_t *cf_read_dir (const char *dir, int depth)
 
                status = ssnprintf (name, sizeof (name), "%s/%s",
                                dir, de->d_name);
-               if (status >= sizeof (name))
+               if ((status < 0) || ((size_t) status >= sizeof (name)))
                {
                        ERROR ("configfile: Not including `%s/%s' because its"
                                        " name is too long.",
@@ -630,7 +635,7 @@ static oconfig_item_t *cf_read_generic (const char *path, int depth)
        int status;
        const char *path_ptr;
        wordexp_t we;
-       int i;
+       size_t i;
 
        if (depth >= CF_MAX_DEPTH)
        {