aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authormurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-08-08 06:45:43 +0000
committermurf <murf@f38db490-d61c-443f-a65b-d21fe96a405b>2008-08-08 06:45:43 +0000
commitffa7ffcf39083b7ffb044301eac19b12c299300a (patch)
tree484c44046c706dfb86e99b9c276cc56b7cbd21ab /utils
parentd0b52bf5a445a4e37dff248861c9f9ce9f38ba2c (diff)
Merged revisions 136746 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r136746 | murf | 2008-08-07 18:48:35 -0600 (Thu, 07 Aug 2008) | 40 lines Merged revisions 136726 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r136726 | murf | 2008-08-07 18:15:34 -0600 (Thu, 07 Aug 2008) | 32 lines (closes issue #13236) Reported by: korihor Wow, this one was a challenge! I regrouped and ran a new strategy for setting the ~~MACRO~~ value; I set it once per extension, up near the top. It is only set if there is a switch in the extension. So, I had to put in a chunk of code to detect a switch in the pval tree. I moved the code to insert the set of ~~exten~~ up to the beginning of the gen_prios routine, instead of down in the switch code. I learned that I have to push the detection of the switches down into the code, so everywhere I create a new exten in gen_prios, I make sure to pass onto it the values of the mother_exten first, and the exten next. I had to add a couple fields to the exten struct to accomplish this, in the ael_structs.h file. The checked field makes it so we don't repeat the switch search if it's been done. I also updated the regressions. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@136778 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'utils')
-rw-r--r--utils/ael_main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/utils/ael_main.c b/utils/ael_main.c
index ae5dbd10b..2976bb5ce 100644
--- a/utils/ael_main.c
+++ b/utils/ael_main.c
@@ -97,7 +97,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);
+struct ast_context * ast_context_find_or_create(void **extcontexts, void *ptr, 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);
@@ -335,7 +335,7 @@ 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 * ast_context_find_or_create(void **extcontexts, void *ptr, const char *name, const char *registrar)
{
struct ast_context *x = calloc(1, sizeof(*x));
if (!x)