configfile: Be more verbose if the `Server' or `Local' modes are not available.
authorFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sun, 25 Jun 2006 13:45:21 +0000 (15:45 +0200)
committerFlorian Forster <octo@leeloo.lan.home.verplant.org>
Sun, 25 Jun 2006 13:45:21 +0000 (15:45 +0200)
This happends if not linking against librrd. Some people missed the summary at
the end of the configure script and the error message wasn't helping them.

src/configfile.c

index 3926586..40b46fa 100644 (file)
@@ -258,6 +258,27 @@ static int cf_callback_mode (const char *shortvar, const char *var,
                operating_mode = MODE_SERVER;
        else if (strcasecmp (value, "Local") == 0)
                operating_mode = MODE_LOCAL;
+#else /* !HAVE_LIBRRD */
+       else if (strcasecmp (value, "Server") == 0)
+       {
+               fprintf (stderr, "Invalid mode `Server': "
+                               "You need to link against librrd for this "
+                               "mode to be available.\n");
+               syslog (LOG_ERR, "Invalid mode `Server': "
+                               "You need to link against librrd for this "
+                               "mode to be available.");
+               return (LC_CBRET_ERROR);
+       }
+       else if (strcasecmp (value, "Local") == 0)
+       {
+               fprintf (stderr, "Invalid mode `Local': "
+                               "You need to link against librrd for this "
+                               "mode to be available.\n");
+               syslog (LOG_ERR, "Invalid mode `Local': "
+                               "You need to link against librrd for this "
+                               "mode to be available.");
+               return (LC_CBRET_ERROR);
+       }
 #endif
        else if (strcasecmp (value, "Log") == 0)
                operating_mode = MODE_LOG;