diff options
Diffstat (limited to 'src/config.c')
| -rw-r--r-- | src/config.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/config.c b/src/config.c index cde4af1..81932a0 100644 --- a/src/config.c +++ b/src/config.c @@ -301,7 +301,7 @@ static config_status_t config_read_block(const block_scheme_t *scheme, block_t * status = config_read_entry(block->type == BLOCK_GROUP ? block_group_entries : block_text_entries, block, type, section, key, value); - return status != CONFIG_UNKNOWN || scheme->entries != NULL + return status != CONFIG_UNKNOWN || scheme->entries == NULL ? status : config_read_entry(scheme->entries, block->state, type, section, key, value); } @@ -379,8 +379,10 @@ void config_read(config_t *config, FILE *file) free(block->label); block->label = label; - if (scheme->size != 0) + if (scheme->size != 0) { block->state = malloc(scheme->size); + memset(block->state, 0, scheme->size); + } goto skip_pair; } |
