src/plugin.c: plugin_dispatch_values: Improve the error messages.
authorFlorian Forster <octo@huhu.verplant.org>
Mon, 31 Mar 2008 15:03:56 +0000 (17:03 +0200)
committerFlorian Forster <octo@huhu.verplant.org>
Mon, 31 Mar 2008 15:03:56 +0000 (17:03 +0200)
If no write plugin was loaded or no DS was defined, the
`plugin_dispatch_values' used to fail silently. This is of course not good, so
this commit introduces error messages for this case, so that users can see why
their setup is not working properly.

Also, the ``no such DS type'' message was promoted from DEBUG to INFO.

src/plugin.c

index acf7620..7d2bb57 100644 (file)
@@ -643,19 +643,32 @@ int plugin_dispatch_values (const char *name, value_list_t *vl)
        data_set_t *ds;
        llentry_t *le;
 
-       if ((list_write == NULL) || (list_data_set == NULL))
+       if (list_write == NULL)
+       {
+               ERROR ("plugin_dispatch_values: No write callback has been "
+                               "registered. Please load at least one plugin "
+                               "that provides a write function.");
+               return (-1);
+       }
+
+       if (list_data_set == NULL)
+       {
+               ERROR ("plugin_dispatch_values: No data sets registered. "
+                               "Could the types database be read? Check "
+                               "your `TypesDB' setting!");
                return (-1);
+       }
 
        le = llist_search (list_data_set, name);
        if (le == NULL)
        {
-               DEBUG ("No such dataset registered: %s", name);
+               INFO ("plugin_dispatch_values: Dataset not found: %s", name);
                return (-1);
        }
 
        ds = (data_set_t *) le->value;
 
-       DEBUG ("plugin: plugin_dispatch_values: time = %u; interval = %i; "
+       DEBUG ("plugin_dispatch_values: time = %u; interval = %i; "
                        "host = %s; "
                        "plugin = %s; plugin_instance = %s; "
                        "type = %s; type_instance = %s;",
@@ -669,7 +682,8 @@ int plugin_dispatch_values (const char *name, value_list_t *vl)
 #else
        if (ds->ds_num != vl->values_len)
        {
-               ERROR ("plugin: ds->type = %s: (ds->ds_num = %i) != "
+               ERROR ("plugin_dispatch_values: ds->type = %s: "
+                               "(ds->ds_num = %i) != "
                                "(vl->values_len = %i)",
                                ds->type, ds->ds_num, vl->values_len);
                return (-1);