mv 'struct config_item'{_,}
Finally we can get rid of the trailing underscore.
This commit is contained in:
106
common.c
106
common.c
@@ -1014,7 +1014,7 @@ enum config_item_type
|
||||
CONFIG_ITEM_STRING_ARRAY ///< Comma-separated list of strings
|
||||
};
|
||||
|
||||
struct config_item_
|
||||
struct config_item
|
||||
{
|
||||
enum config_item_type type; ///< Type of the item
|
||||
union
|
||||
@@ -1040,10 +1040,10 @@ struct config_schema
|
||||
|
||||
/// Check if the new value can be accepted.
|
||||
/// In addition to this, "type" and having a default is considered.
|
||||
bool (*validate) (const struct config_item_ *, struct error **e);
|
||||
bool (*validate) (const struct config_item *, struct error **e);
|
||||
|
||||
/// The value has changed
|
||||
void (*on_change) (struct config_item_ *);
|
||||
void (*on_change) (struct config_item *);
|
||||
};
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
@@ -1073,7 +1073,7 @@ config_item_type_is_string (enum config_item_type type)
|
||||
}
|
||||
|
||||
static void
|
||||
config_item_free (struct config_item_ *self)
|
||||
config_item_free (struct config_item *self)
|
||||
{
|
||||
switch (self->type)
|
||||
{
|
||||
@@ -1089,7 +1089,7 @@ config_item_free (struct config_item_ *self)
|
||||
}
|
||||
|
||||
static void
|
||||
config_item_destroy (struct config_item_ *self)
|
||||
config_item_destroy (struct config_item *self)
|
||||
{
|
||||
config_item_free (self);
|
||||
free (self);
|
||||
@@ -1098,7 +1098,7 @@ config_item_destroy (struct config_item_ *self)
|
||||
/// Doesn't do any validations or handle schemas, just moves source data
|
||||
/// to the target item and destroys the source item
|
||||
static void
|
||||
config_item_move (struct config_item_ *self, struct config_item_ *source)
|
||||
config_item_move (struct config_item *self, struct config_item *source)
|
||||
{
|
||||
// Not quite sure how to handle that
|
||||
hard_assert (!source->schema);
|
||||
@@ -1109,40 +1109,40 @@ config_item_move (struct config_item_ *self, struct config_item_ *source)
|
||||
free (source);
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_new (enum config_item_type type)
|
||||
{
|
||||
struct config_item_ *self = xcalloc (1, sizeof *self);
|
||||
struct config_item *self = xcalloc (1, sizeof *self);
|
||||
self->type = type;
|
||||
return self;
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_null (void)
|
||||
{
|
||||
return config_item_new (CONFIG_ITEM_NULL);
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_boolean (bool b)
|
||||
{
|
||||
struct config_item_ *self = config_item_new (CONFIG_ITEM_BOOLEAN);
|
||||
struct config_item *self = config_item_new (CONFIG_ITEM_BOOLEAN);
|
||||
self->value.boolean = b;
|
||||
return self;
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_integer (int64_t i)
|
||||
{
|
||||
struct config_item_ *self = config_item_new (CONFIG_ITEM_INTEGER);
|
||||
struct config_item *self = config_item_new (CONFIG_ITEM_INTEGER);
|
||||
self->value.integer = i;
|
||||
return self;
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_string (const struct str *s)
|
||||
{
|
||||
struct config_item_ *self = config_item_new (CONFIG_ITEM_STRING);
|
||||
struct config_item *self = config_item_new (CONFIG_ITEM_STRING);
|
||||
str_init (&self->value.string);
|
||||
hard_assert (utf8_validate
|
||||
(self->value.string.str, self->value.string.len));
|
||||
@@ -1150,29 +1150,29 @@ config_item_string (const struct str *s)
|
||||
return self;
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_string_from_cstr (const char *s)
|
||||
{
|
||||
struct str tmp;
|
||||
str_init (&tmp);
|
||||
str_append (&tmp, s);
|
||||
struct config_item_ *self = config_item_string (&tmp);
|
||||
struct config_item *self = config_item_string (&tmp);
|
||||
str_free (&tmp);
|
||||
return self;
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_string_array (const struct str *s)
|
||||
{
|
||||
struct config_item_ *self = config_item_string (s);
|
||||
struct config_item *self = config_item_string (s);
|
||||
self->type = CONFIG_ITEM_STRING_ARRAY;
|
||||
return self;
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_object (void)
|
||||
{
|
||||
struct config_item_ *self = config_item_new (CONFIG_ITEM_OBJECT);
|
||||
struct config_item *self = config_item_new (CONFIG_ITEM_OBJECT);
|
||||
str_map_init (&self->value.object);
|
||||
self->value.object.free = (void (*)(void *)) config_item_destroy;
|
||||
return self;
|
||||
@@ -1192,7 +1192,7 @@ config_schema_accepts_type
|
||||
}
|
||||
|
||||
static bool
|
||||
config_item_validate_by_schema (struct config_item_ *self,
|
||||
config_item_validate_by_schema (struct config_item *self,
|
||||
struct config_schema *schema, struct error **e)
|
||||
{
|
||||
struct error *error = NULL;
|
||||
@@ -1211,7 +1211,7 @@ config_item_validate_by_schema (struct config_item_ *self,
|
||||
}
|
||||
|
||||
static bool
|
||||
config_item_set_from (struct config_item_ *self, struct config_item_ *source,
|
||||
config_item_set_from (struct config_item *self, struct config_item *source,
|
||||
struct error **e)
|
||||
{
|
||||
struct config_schema *schema = self->schema;
|
||||
@@ -1238,8 +1238,8 @@ config_item_set_from (struct config_item_ *self, struct config_item_ *source,
|
||||
return true;
|
||||
}
|
||||
|
||||
static struct config_item_ *
|
||||
config_item_get (struct config_item_ *self, const char *path, struct error **e)
|
||||
static struct config_item *
|
||||
config_item_get (struct config_item *self, const char *path, struct error **e)
|
||||
{
|
||||
hard_assert (self->type == CONFIG_ITEM_OBJECT);
|
||||
|
||||
@@ -1247,7 +1247,7 @@ config_item_get (struct config_item_ *self, const char *path, struct error **e)
|
||||
str_vector_init (&v);
|
||||
split_str (path, '.', &v);
|
||||
|
||||
struct config_item_ *result = NULL;
|
||||
struct config_item *result = NULL;
|
||||
size_t i = 0;
|
||||
while (true)
|
||||
{
|
||||
@@ -1277,7 +1277,7 @@ struct config_writer
|
||||
};
|
||||
|
||||
static void config_item_write_object_innards
|
||||
(struct config_writer *self, struct config_item_ *object);
|
||||
(struct config_writer *self, struct config_item *object);
|
||||
|
||||
static void
|
||||
config_item_write_string (struct str *output, const struct str *s)
|
||||
@@ -1299,7 +1299,7 @@ config_item_write_string (struct str *output, const struct str *s)
|
||||
|
||||
static void
|
||||
config_item_write_object
|
||||
(struct config_writer *self, struct config_item_ *value)
|
||||
(struct config_writer *self, struct config_item *value)
|
||||
{
|
||||
char indent[self->indent + 1];
|
||||
memset (indent, '\t', self->indent);
|
||||
@@ -1318,7 +1318,7 @@ config_item_write_object
|
||||
}
|
||||
|
||||
static void
|
||||
config_item_write_value (struct config_writer *self, struct config_item_ *value)
|
||||
config_item_write_value (struct config_writer *self, struct config_item *value)
|
||||
{
|
||||
switch (value->type)
|
||||
{
|
||||
@@ -1345,7 +1345,7 @@ config_item_write_value (struct config_writer *self, struct config_item_ *value)
|
||||
|
||||
static void
|
||||
config_item_write_kv_pair (struct config_writer *self,
|
||||
const char *key, struct config_item_ *value)
|
||||
const char *key, struct config_item *value)
|
||||
{
|
||||
char indent[self->indent + 1];
|
||||
memset (indent, '\t', self->indent);
|
||||
@@ -1362,20 +1362,20 @@ config_item_write_kv_pair (struct config_writer *self,
|
||||
|
||||
static void
|
||||
config_item_write_object_innards
|
||||
(struct config_writer *self, struct config_item_ *object)
|
||||
(struct config_writer *self, struct config_item *object)
|
||||
{
|
||||
hard_assert (object->type == CONFIG_ITEM_OBJECT);
|
||||
|
||||
struct str_map_iter iter;
|
||||
str_map_iter_init (&iter, &object->value.object);
|
||||
|
||||
struct config_item_ *value;
|
||||
struct config_item *value;
|
||||
while ((value = str_map_iter_next (&iter)))
|
||||
config_item_write_kv_pair (self, iter.link->key, value);
|
||||
}
|
||||
|
||||
static void
|
||||
config_item_write (struct config_item_ *value,
|
||||
config_item_write (struct config_item *value,
|
||||
bool object_innards, struct str *output)
|
||||
{
|
||||
struct config_writer writer = { .output = output, .indent = 0 };
|
||||
@@ -1769,13 +1769,13 @@ config_parser_expect
|
||||
#define EXPECT(token) config_parser_expect (self, token, err)
|
||||
#define SKIP_NL() do {} while (ACCEPT (CONFIG_T_NEWLINE))
|
||||
|
||||
static struct config_item_ *config_parser_parse_object
|
||||
static struct config_item *config_parser_parse_object
|
||||
(struct config_parser *self, jmp_buf out);
|
||||
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_parser_parse_value (struct config_parser *self, jmp_buf out)
|
||||
{
|
||||
struct config_item_ *volatile result = NULL;
|
||||
struct config_item *volatile result = NULL;
|
||||
jmp_buf err;
|
||||
|
||||
if (setjmp (err))
|
||||
@@ -1810,7 +1810,7 @@ config_parser_parse_value (struct config_parser *self, jmp_buf out)
|
||||
/// Parse a single "key = value" assignment into @a object
|
||||
static bool
|
||||
config_parser_parse_kv_pair (struct config_parser *self,
|
||||
struct config_item_ *object, jmp_buf out)
|
||||
struct config_item *object, jmp_buf out)
|
||||
{
|
||||
char *volatile key = NULL;
|
||||
jmp_buf err;
|
||||
@@ -1851,10 +1851,10 @@ config_parser_parse_kv_pair (struct config_parser *self,
|
||||
}
|
||||
|
||||
/// Parse the inside of an object definition
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_parser_parse_object (struct config_parser *self, jmp_buf out)
|
||||
{
|
||||
struct config_item_ *volatile object = config_item_object ();
|
||||
struct config_item *volatile object = config_item_object ();
|
||||
jmp_buf err;
|
||||
|
||||
if (setjmp (err))
|
||||
@@ -1877,14 +1877,14 @@ config_parser_parse_object (struct config_parser *self, jmp_buf out)
|
||||
|
||||
/// Parse a configuration snippet either as an object or a bare value.
|
||||
/// If it's the latter (@a single_value_only), no newlines may follow.
|
||||
static struct config_item_ *
|
||||
static struct config_item *
|
||||
config_item_parse (const char *script, size_t len,
|
||||
bool single_value_only, struct error **e)
|
||||
{
|
||||
struct config_parser parser;
|
||||
config_parser_init (&parser, script, len);
|
||||
|
||||
struct config_item_ *volatile object = NULL;
|
||||
struct config_item *volatile object = NULL;
|
||||
jmp_buf err;
|
||||
|
||||
if (setjmp (err))
|
||||
@@ -1916,14 +1916,14 @@ end:
|
||||
}
|
||||
|
||||
/// Clone an item. Schema assignments aren't retained.
|
||||
struct config_item_ *
|
||||
config_item_clone (struct config_item_ *self)
|
||||
struct config_item *
|
||||
config_item_clone (struct config_item *self)
|
||||
{
|
||||
// Oh well, it saves code
|
||||
struct str tmp;
|
||||
str_init (&tmp);
|
||||
config_item_write (self, false, &tmp);
|
||||
struct config_item_ *result =
|
||||
struct config_item *result =
|
||||
config_item_parse (tmp.str, tmp.len, true, NULL);
|
||||
str_free (&tmp);
|
||||
return result;
|
||||
@@ -1933,9 +1933,9 @@ config_item_clone (struct config_item_ *self)
|
||||
|
||||
static void
|
||||
config_schema_initialize_item (struct config_schema *schema,
|
||||
struct config_item_ *parent, void *user_data)
|
||||
struct config_item *parent, void *user_data)
|
||||
{
|
||||
struct config_item_ *item =
|
||||
struct config_item *item =
|
||||
str_map_find (&parent->value.object, schema->name);
|
||||
|
||||
bool replace = true;
|
||||
@@ -1981,7 +1981,7 @@ config_schema_initialize_item (struct config_schema *schema,
|
||||
|
||||
static void
|
||||
config_schema_apply_to_object (struct config_schema *schema_array,
|
||||
struct config_item_ *object, void *user_data)
|
||||
struct config_item *object, void *user_data)
|
||||
{
|
||||
hard_assert (object->type == CONFIG_ITEM_OBJECT);
|
||||
while (schema_array->name)
|
||||
@@ -1989,14 +1989,14 @@ config_schema_apply_to_object (struct config_schema *schema_array,
|
||||
}
|
||||
|
||||
static void
|
||||
config_schema_call_changed (struct config_item_ *item)
|
||||
config_schema_call_changed (struct config_item *item)
|
||||
{
|
||||
if (item->type == CONFIG_ITEM_OBJECT)
|
||||
{
|
||||
struct str_map_iter iter;
|
||||
str_map_iter_init (&iter, &item->value.object);
|
||||
|
||||
struct config_item_ *child;
|
||||
struct config_item *child;
|
||||
while ((child = str_map_iter_next (&iter)))
|
||||
config_schema_call_changed (child);
|
||||
}
|
||||
@@ -2009,7 +2009,7 @@ config_schema_call_changed (struct config_item_ *item)
|
||||
// XXX: this doesn't necessarily have to be well designed at all
|
||||
|
||||
typedef void (*config_module_load_fn)
|
||||
(struct config_item_ *subtree, void *user_data);
|
||||
(struct config_item *subtree, void *user_data);
|
||||
|
||||
struct config_module
|
||||
{
|
||||
@@ -2035,7 +2035,7 @@ config_module_destroy (struct config_module *self)
|
||||
struct config
|
||||
{
|
||||
struct str_map modules; ///< Toplevel modules
|
||||
struct config_item_ *root; ///< CONFIG_ITEM_OBJECT
|
||||
struct config_item *root; ///< CONFIG_ITEM_OBJECT
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -2067,7 +2067,7 @@ config_register_module (struct config *self,
|
||||
}
|
||||
|
||||
static void
|
||||
config_load (struct config *self, struct config_item_ *root)
|
||||
config_load (struct config *self, struct config_item *root)
|
||||
{
|
||||
hard_assert (root->type == CONFIG_ITEM_OBJECT);
|
||||
self->root = root;
|
||||
@@ -2078,7 +2078,7 @@ config_load (struct config *self, struct config_item_ *root)
|
||||
struct config_module *module;
|
||||
while ((module = str_map_iter_next (&iter)))
|
||||
{
|
||||
struct config_item_ *subtree = str_map_find
|
||||
struct config_item *subtree = str_map_find
|
||||
(&root->value.object, module->name);
|
||||
// Silently fix inputs that only a lunatic user could create
|
||||
if (!subtree || subtree->type != CONFIG_ITEM_OBJECT)
|
||||
|
||||
Reference in New Issue
Block a user