degesch: mark all unrecognized config values
This commit is contained in:
parent
ff20e74868
commit
15d3129ea3
24
degesch.c
24
degesch.c
@ -6223,27 +6223,27 @@ config_dump_item (struct config_item_ *item, struct config_dump_data *data)
|
|||||||
for (; iter; iter = iter->next)
|
for (; iter; iter = iter->next)
|
||||||
str_append_printf (&line, ".%s", iter->name);
|
str_append_printf (&line, ".%s", iter->name);
|
||||||
|
|
||||||
|
struct str value;
|
||||||
|
str_init (&value);
|
||||||
|
config_item_write (item, false, &value);
|
||||||
|
|
||||||
// Don't bother writing out null values everywhere
|
// Don't bother writing out null values everywhere
|
||||||
struct config_schema *schema = item->schema;
|
struct config_schema *schema = item->schema;
|
||||||
bool has_default = schema && schema->default_;
|
bool has_default = schema && schema->default_;
|
||||||
if (item->type != CONFIG_ITEM_NULL || has_default)
|
if (item->type != CONFIG_ITEM_NULL || has_default)
|
||||||
{
|
{
|
||||||
str_append (&line, " = ");
|
str_append (&line, " = ");
|
||||||
|
|
||||||
struct str value;
|
|
||||||
str_init (&value);
|
|
||||||
config_item_write (item, false, &value);
|
|
||||||
str_append_str (&line, &value);
|
str_append_str (&line, &value);
|
||||||
|
|
||||||
if (!schema)
|
|
||||||
str_append (&line, " (unrecognized)");
|
|
||||||
else if (has_default && strcmp (schema->default_, value.str))
|
|
||||||
str_append_printf (&line, " (default: %s)", schema->default_);
|
|
||||||
else if (!has_default && item->type != CONFIG_ITEM_NULL)
|
|
||||||
str_append_printf (&line, " (default: %s)", "null");
|
|
||||||
str_free (&value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!schema)
|
||||||
|
str_append (&line, " (unrecognized)");
|
||||||
|
else if (has_default && strcmp (schema->default_, value.str))
|
||||||
|
str_append_printf (&line, " (default: %s)", schema->default_);
|
||||||
|
else if (!has_default && item->type != CONFIG_ITEM_NULL)
|
||||||
|
str_append_printf (&line, " (default: %s)", "null");
|
||||||
|
|
||||||
|
str_free (&value);
|
||||||
str_vector_add_owned (data->output, str_steal (&line));
|
str_vector_add_owned (data->output, str_steal (&line));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user