diff options
Diffstat (limited to 'common.c')
-rw-r--r-- | common.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -550,11 +550,10 @@ struct config_schema const char *comment; ///< User-readable description enum config_item_type type; ///< Required type - bool is_nullable; ///< Can be null? const char *default_; ///< Default as a configuration snippet /// Check if the new value can be accepted. - /// If this is not defined, only "type" and "is_nullable" is considered. + /// If this is not defined, only "type" and having a default is considered. bool (*validate) (struct config_item_ *, const struct config_item_ *); /// The value has changed. Only appliable to objects. @@ -696,7 +695,7 @@ config_schema_accepts_type if (config_item_type_is_string (self->type) && config_item_type_is_string (type)) return true; - return self->is_nullable && type == CONFIG_ITEM_NULL; + return !self->default_ && type == CONFIG_ITEM_NULL; } @@ -717,7 +716,7 @@ config_item_set_from (struct config_item_ *self, struct config_item_ *source, { error_set (e, "invalid type of value, expected: %s%s", config_item_type_name (schema->type), - schema->is_nullable ? " (or null)" : ""); + !schema->default_ ? " (or null)" : ""); return false; } |