aco: Minimize use of regex.

Remove nearly all use of regex from ACO users.  Still remaining:
* app_confbridge has a legitamate use of option name regex.
* ast_sorcery_object_fields_register is implemented with regex, all
  callers use simple prefix based regex.  I haven't decided the best
  way to fix this in both 13/15 and master.

Change-Id: Ib5ed478218d8a661ace4d2eaaea98b59a897974b
This commit is contained in:
Corey Farrell
2017-12-12 13:55:12 -05:00
parent 7413bcbeb5
commit 501f4dcdd8
17 changed files with 124 additions and 73 deletions

View File

@@ -244,8 +244,8 @@ static struct aco_type global_option = {
.type = ACO_GLOBAL,
.name = "globals",
.item_offset = offsetof(struct skel_config, global),
.category_match = ACO_WHITELIST,
.category = "^general$",
.category_match = ACO_WHITELIST_EXACT,
.category = "general",
};
struct aco_type *global_options[] = ACO_TYPES(&global_option);
@@ -255,18 +255,24 @@ static struct aco_type sound_option = {
.type = ACO_GLOBAL,
.name = "sounds",
.item_offset = offsetof(struct skel_config, global),
.category_match = ACO_WHITELIST,
.category = "^sounds$",
.category_match = ACO_WHITELIST_EXACT,
.category = "sounds",
};
struct aco_type *sound_options[] = ACO_TYPES(&sound_option);
static const char *level_categories[] = {
"general",
"sounds",
NULL,
};
/*! \brief An aco_type structure to link the everything but the "general" and "sounds" categories to the skel_level type */
static struct aco_type level_option = {
.type = ACO_ITEM,
.name = "level",
.category_match = ACO_BLACKLIST,
.category = "^(general|sounds)$",
.category_match = ACO_BLACKLIST_ARRAY,
.category = (const char *)level_categories,
.item_alloc = skel_level_alloc,
.item_find = skel_level_find,
.item_offset = offsetof(struct skel_config, levels),