diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/ael_main.c | 16 | ||||
-rw-r--r-- | utils/conf2ael.c | 7 |
2 files changed, 23 insertions, 0 deletions
diff --git a/utils/ael_main.c b/utils/ael_main.c index 58939f9a0..8955aa045 100644 --- a/utils/ael_main.c +++ b/utils/ael_main.c @@ -91,6 +91,7 @@ int ast_add_extension2(struct ast_context *con, const char *registrar); void pbx_builtin_setvar(void *chan, void *data); struct ast_context * ast_context_create(void **extcontexts, const char *name, const char *registrar); +struct ast_context * ast_context_find_or_create(void **extcontexts, const char *name, const char *registrar); void ast_context_add_ignorepat2(struct ast_context *con, const char *value, const char *registrar); void ast_context_add_include2(struct ast_context *con, const char *value, const char *registrar); void ast_context_add_switch2(struct ast_context *con, const char *value, const char *data, int eval, const char *registrar); @@ -359,6 +360,21 @@ struct ast_context * ast_context_create(void **extcontexts, const char *name, co return x; } +struct ast_context * ast_context_find_or_create(void **extcontexts, const char *name, const char *registrar) +{ + struct ast_context *x = calloc(1, sizeof(*x)); + if (!x) + return NULL; + x->next = context_list; + context_list = x; + if (!no_comp) + printf("Executed ast_context_find_or_create(conts, name=%s, registrar=%s);\n", name, registrar); + conts++; + strncpy(x->name, name, sizeof(x->name) - 1); + strncpy(x->registrar, registrar, sizeof(x->registrar) - 1); + return x; +} + void ast_context_add_ignorepat2(struct ast_context *con, const char *value, const char *registrar) { if(!no_comp) diff --git a/utils/conf2ael.c b/utils/conf2ael.c index 312ed700f..02e78297e 100644 --- a/utils/conf2ael.c +++ b/utils/conf2ael.c @@ -630,6 +630,13 @@ struct ast_context *ast_context_create(struct ast_context **extcontexts, const c return localized_context_create(extcontexts, name, registrar); } +struct ast_context *ast_context_find_or_create(struct ast_context **extcontexts, const char *name, const char *registrar) +{ + printf("find/Creating context %s, registrar=%s\n", name, registrar); + + return localized_context_create(extcontexts, name, registrar); +} + void ast_cli_register_multiple(void); void ast_cli_register_multiple(void) |