configfile, types_list: Improved error messages when handling "TypesDB".
authorSebastian Harl <sh@tokkee.org>
Tue, 10 Mar 2009 19:48:54 +0000 (20:48 +0100)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Tue, 17 Mar 2009 08:35:22 +0000 (09:35 +0100)
src/configfile.c
src/types_list.c

index bb57ca2..580b24b 100644 (file)
@@ -205,13 +205,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);
        }
index 7600c34..ed832fe 100644 (file)
@@ -172,7 +172,9 @@ int read_types_list (const char *file)
   if (fh == NULL)
   {
     char errbuf[1024];
-    ERROR ("open (%s) failed: %s", 
+    fprintf (stderr, "Failed to open types database `%s': %s.\n",
+       file, sstrerror (errno, errbuf, sizeof (errbuf)));
+    ERROR ("Failed to open types database `%s': %s",
        file, sstrerror (errno, errbuf, sizeof (errbuf)));
     return (-1);
   }