diff options
-rw-r--r-- | keyword.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -234,7 +234,8 @@ char *create_key_value_file(void *data, void *ctx, const keyword **keywords, con for (int i = 0; keywords[i] != NULL; ++i) { int error; keyword_val val = get_keyword(keywords[i], data, ctx, &error); - if (!error || error < 0) { + const int is_valid = keywords[i]->type != TYPE_STRING || (keywords[i]->type == TYPE_STRING && !is_empty(val.str)); + if ((!error || error < 0) && is_valid) { char *key_value = create_key_value_str(keywords[i], val, start_delm, end_delm); buf_len += strlen(key_value); key_values = add_node(&key_values, key_value); |