+ if (strcasecmp ("plugin", opt_key) == 0)
+ strarray_add (&plugins, &plugins_num, opt_value);
+ else if (strcasecmp ("identifier", opt_key) == 0)
+ strarray_add (&identifiers, &identifiers_num, opt_value);
+ else if (strcasecmp ("timeout", opt_key) == 0)
+ {
+ char *endptr;
+
+ errno = 0;
+ endptr = NULL;
+ timeout = strtod (opt_value, &endptr);
+
+ if ((endptr == opt_value) || (errno != 0) || (!isfinite (timeout)))
+ {
+ PRINT_TO_SOCK (fh, "-1 Invalid value for option `timeout': "
+ "%s\n", opt_value);
+ strarray_free (plugins, plugins_num);
+ strarray_free (identifiers, identifiers_num);
+ return (-1);
+ }
+ else if (timeout < 0.0)
+ {
+ timeout = 0.0;
+ }
+ }
+ else
+ {
+ PRINT_TO_SOCK (fh, "-1 Cannot parse option %s\n", opt_key);
+ strarray_free (plugins, plugins_num);
+ strarray_free (identifiers, identifiers_num);
+ return (-1);
+ }
+ } /* while (*buffer != 0) */
+
+ for (i = 0; (i == 0) || (i < plugins_num); i++)