Skip to content
Snippets Groups Projects
Commit 5d75c058 authored by Mark Spencer's avatar Mark Spencer
Browse files

Version 0.1.7 from FTP

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent b74e3275
No related branches found
No related tags found
No related merge requests found
......@@ -43,7 +43,8 @@ struct ast_context *ast_context_find(char *name);
/* Create a new thread and start the PBX (or whatever) */
int ast_pbx_start(struct ast_channel *c);
/* Execute the PBX in the current thread */
int ast_pbx_run(struct ast_channel *c);
/* Add an extension to an extension context, this time with an ast_context * */
int ast_add_extension2(struct ast_context *con,
......@@ -74,6 +75,14 @@ int ast_exec_extension(struct ast_channel *c, char *context, char *exten, int pr
/* Longest extension */
int ast_pbx_longest_extension(char *context);
/* Add an include */
int ast_context_add_include(char *context, char *include);
int ast_context_add_include2(struct ast_context *con, char *include);
/* Remove an include */
int ast_context_remove_include(char *context, char *include);
int ast_context_remove_include2(struct ast_context *con, char *include);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
......
......@@ -37,7 +37,6 @@ int load_module(void)
struct ast_variable *v;
char *cxt, *ext, *pri, *appl, *data, *tc;
struct ast_context *con;
cfg = ast_load(config);
if (cfg) {
......@@ -53,24 +52,29 @@ int load_module(void)
if ((con=ast_context_create(cxt))) {
v = ast_variable_browse(cfg, cxt);
while(v) {
tc = strdup(v->value);
ext = strtok(tc, ",");
if (!ext)
ext="";
pri = strtok(NULL, ",");
if (!pri)
pri="";
appl = strtok(NULL, ",");
if (!appl)
appl="";
data = strtok(NULL, ",");
if (!data)
data="";
if (ast_add_extension2(con, 0, ext, atoi(pri), appl, strdup(data), free)) {
ast_log(LOG_WARNING, "Unable to register extension\n");
if (!strcasecmp(v->name, "exten")) {
tc = strdup(v->value);
ext = strtok(tc, ",");
if (!ext)
ext="";
pri = strtok(NULL, ",");
if (!pri)
pri="";
appl = strtok(NULL, ",");
if (!appl)
appl="";
data = strtok(NULL, ",");
if (!data)
data="";
if (ast_add_extension2(con, 0, ext, atoi(pri), appl, strdup(data), free)) {
ast_log(LOG_WARNING, "Unable to register extension\n");
}
free(tc);
} else if(!strcasecmp(v->name, "include")) {
if (ast_context_add_include2(con, v->value))
ast_log(LOG_WARNING, "Unable to include context '%s' in context '%s'\n", v->value, cxt);
}
v = v->next;
free(tc);
}
}
cxt = ast_category_browse(cfg, cxt);
......@@ -89,3 +93,8 @@ char *description(void)
{
return dtext;
}
char *key(void)
{
return ASTERISK_GPL_KEY;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment