diff options
Diffstat (limited to 'utils/ael_main.c')
-rw-r--r-- | utils/ael_main.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/utils/ael_main.c b/utils/ael_main.c index 80d17af8d..6c8f3d390 100644 --- a/utils/ael_main.c +++ b/utils/ael_main.c @@ -88,6 +88,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); @@ -312,6 +313,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) |