-} /* }}} int mysql_config_add_database */
-
-static int mysql_config (oconfig_item_t *ci) /* {{{ */
-{
- int status = 0;
- int i;
- oconfig_item_t *lci = NULL; /* legacy config */
-
- for (i = 0; i < ci->children_num; i++)
- {
- oconfig_item_t *child = ci->children + i;
-
- if (strcasecmp ("Database", child->key) == 0 && child->children_num > 0)
- mysql_config_add_database (child);
- else
- {
- /* legacy mode - convert to <Database ...> config */
- if (lci == NULL)
- {
- lci = malloc (sizeof(*lci));
- if (lci == NULL)
- {
- ERROR ("mysql plugin: malloc failed.");
- return (-1);
- }
- memset (lci, '\0', sizeof (*lci));
- }
- if (strcasecmp ("Database", child->key) == 0)
- {
- lci->key = child->key;
- lci->values = child->values;
- lci->values_num = child->values_num;
- lci->parent = child->parent;
- }
- else
- {
- lci->children_num++;
- lci->children =
- realloc (lci->children,
- lci->children_num * sizeof (*child));
- if (lci->children == NULL)
- {
- ERROR ("mysql plugin: realloc failed.");
- return (-1);
- }
- memcpy (&lci->children[lci->children_num-1], child, sizeof (*child));
- }
- }
- } /* for (ci->children) */
-
- if (lci)
- {
- if (lci->key == NULL)
- {
- ERROR ("mysql plugin: no Database configured.");
- status = -1;
- }
- else
- mysql_config_add_database (lci);
- sfree (lci->children);
- sfree (lci);
- }
- return (status);