+static int
+main_process_line (const char *path, int lineno,
+ const char *key, const char *value)
+{
+ int bool;
+
+ if (strcasecmp (key, "guests") == 0) {
+ if (!value) {
+ error ("%s:%d: directive is empty: %s", path, lineno, key);
+ return -1;
+ }
+ guests_file = apr_pstrdup (pool, value);
+ } else if (strcasecmp (key, "sockets") == 0) {
+ if (!value) {
+ error ("%s:%d: directive is empty: %s", path, lineno, key);
+ return -1;
+ }
+ socket_dir = apr_pstrdup (pool, value);
+ } else if (strcasecmp (key, "verbose") == 0) {
+ bool = get_bool (value);
+ if (bool == -1) {
+ error ("%s:%d: %s: not a valid boolean - use 1 or 0", path, lineno, key);
+ return -1;
+ }
+ if (!verbose_set_on_cmdline)
+ verbose = bool;
+ } else if (strcasecmp (key, "foreground") == 0) {
+ bool = get_bool (value);
+ if (bool == -1) {
+ error ("%s:%d: %s: not a valid boolean - use 1 or 0", path, lineno, key);
+ return -1;
+ }
+ if (!foreground_set_on_cmdline)
+ foreground = bool;
+ } else {
+ error ("%s:%d: unknown directive in configuration file: %s",
+ path, lineno, key);
+ return -1;
+ }
+ return 0;
+}
+
+/* Configuration file parser. */