summaryrefslogtreecommitdiff
path: root/main/cel.c
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2017-12-12 13:55:12 -0500
committerCorey Farrell <git@cfware.com>2017-12-15 10:18:52 -0500
commit957709e1e824e221254599e4ad8445e3839ce535 (patch)
tree87f5e5481c78e21219025ac36033ee3106428fc3 /main/cel.c
parent5d49e2e3297c3af800eb68b74972d2b38c0eb8de (diff)
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
Diffstat (limited to 'main/cel.c')
-rw-r--r--main/cel.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/main/cel.c b/main/cel.c
index faf4fde71..cec0a85e4 100644
--- a/main/cel.c
+++ b/main/cel.c
@@ -242,15 +242,28 @@ static struct aco_type general_option = {
.type = ACO_GLOBAL,
.name = "general",
.item_offset = offsetof(struct cel_config, general),
- .category_match = ACO_WHITELIST,
- .category = "^general$",
+ .category_match = ACO_WHITELIST_EXACT,
+ .category = "general",
+};
+
+/*! Config sections used by existing modules. Do not add to this list. */
+static const char *ignore_categories[] = {
+ "manager",
+ "radius",
+ NULL,
+};
+
+static struct aco_type ignore_option = {
+ .type = ACO_IGNORE,
+ .name = "modules",
+ .category = (const char*)ignore_categories,
+ .category_match = ACO_WHITELIST_ARRAY,
};
/*! \brief The config file to be processed for the module. */
static struct aco_file cel_conf = {
.filename = "cel.conf", /*!< The name of the config file */
- .types = ACO_TYPES(&general_option), /*!< The mapping object types to be processed */
- .skip_category = "(^manager$|^radius$)", /*!< Config sections used by existing modules. Do not add to this list. */
+ .types = ACO_TYPES(&general_option, &ignore_option), /*!< The mapping object types to be processed */
};
static int cel_pre_apply_config(void);