- if (service->targetprofiles
- && (doc = get_explain_xml(service->targetprofiles, id)))
- {
- explain = zr_read_xml(service->nmem, xmlDocGetRootElement(doc));
- if (!explain)
- return 0;
- }
-
- if (strlen(id) > 255)
- return 0;
- strcpy(hostport, id);
- if ((dbname = strchr(hostport, '/')))
- *(dbname++) = '\0';
- else
- dbname = "";
- db = nmem_malloc(service->nmem, sizeof(*db));
- memset(db, 0, sizeof(*db));
- db->host = 0;
- db->url = nmem_strdup(service->nmem, id);
- db->databases = nmem_malloc(service->nmem, 2 * sizeof(char *));
- db->databases[0] = nmem_strdup(service->nmem, dbname);
- db->databases[1] = 0;
- db->errors = 0;
- db->explain = explain;
-
- db->num_settings = settings_num(service);
- db->settings = nmem_malloc(service->nmem, sizeof(struct settings*) *
+ db = nmem_malloc(nmem, sizeof(*db));
+ db->id = nmem_strdup(nmem, id);
+ db->num_settings = PZ_MAX_EOF;
+ db->settings = nmem_malloc(nmem, sizeof(struct settings*) *