Make configuration file reading more robust

This commit is contained in:
Mark Riddoch
2013-09-25 17:50:12 +02:00
parent 5d22884a9b
commit 947fc3509b

View File

@ -85,6 +85,7 @@ CONFIG_PARAMETER *param;
ptr->object = strdup(section); ptr->object = strdup(section);
ptr->parameters = NULL; ptr->parameters = NULL;
ptr->next = cntxt->next; ptr->next = cntxt->next;
ptr->element = NULL;
cntxt->next = ptr; cntxt->next = ptr;
} }
if ((param = (CONFIG_PARAMETER *)malloc(sizeof(CONFIG_PARAMETER))) == NULL) if ((param = (CONFIG_PARAMETER *)malloc(sizeof(CONFIG_PARAMETER))) == NULL)
@ -188,6 +189,7 @@ int error_count = 0;
} }
else else
{ {
obj->element = NULL;
skygw_log_write( LOGFILE_ERROR, "No router defined for service '%s'\n", skygw_log_write( LOGFILE_ERROR, "No router defined for service '%s'\n",
obj->object); obj->object);
error_count++; error_count++;
@ -465,9 +467,12 @@ SERVER *server;
} }
} }
else else
{
obj->element = NULL;
skygw_log_write( LOGFILE_ERROR, "No router defined for service '%s'\n", skygw_log_write( LOGFILE_ERROR, "No router defined for service '%s'\n",
obj->object); obj->object);
} }
}
else if (!strcmp(type, "server")) else if (!strcmp(type, "server"))
{ {
char *address = config_get_value(obj->parameters, "address"); char *address = config_get_value(obj->parameters, "address");