From: Automerge script Date: Tue, 15 Aug 2006 23:04:36 +0000 (+0000) Subject: automerge commit X-Git-Tag: 1.2.11-netsec~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c1e78471117d366eba78fd6834060c8902c6770;p=thirdparty%2Fasterisk.git automerge commit git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@39962 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_macro.c b/apps/app_macro.c index 745bf4e365..4fb3360257 100644 --- a/apps/app_macro.c +++ b/apps/app_macro.c @@ -127,7 +127,7 @@ static int macro_exec(struct ast_channel *chan, void *data) depth = 0; } - if (depth >= 7) { + if (depth >= 20) { ast_log(LOG_ERROR, "Macro(): possible infinite loop detected. Returning early.\n"); LOCAL_USER_REMOVE(u); return 0; @@ -241,9 +241,9 @@ static int macro_exec(struct ast_channel *chan, void *data) break; } /* don't stop executing extensions when we're in "h" */ - if (chan->_softhangup && strcasecmp(oldexten,"h")) { - ast_log(LOG_DEBUG, "Extension %s, priority %d returned normally even though call was hung up\n", - chan->exten, chan->priority); + if (chan->_softhangup && strcasecmp(chan->macroexten,"h")) { + ast_log(LOG_DEBUG, "Extension %s, macroexten %s, priority %d returned normally even though call was hung up\n", + chan->exten, chan->macroexten, chan->priority); goto out; } chan->priority++; diff --git a/res/res_agi.c b/res/res_agi.c index e9b275ed0b..935e4f1d60 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -1161,18 +1161,17 @@ static int handle_setvariable(struct ast_channel *chan, AGI *agi, int argc, char static int handle_getvariable(struct ast_channel *chan, AGI *agi, int argc, char **argv) { - char *ret; + const char *ret; char tempstr[1024]; if (argc != 3) return RESULT_SHOWUSAGE; /* check if we want to execute an ast_custom_function */ - if (!ast_strlen_zero(argv[2]) && (argv[2][strlen(argv[2]) - 1] == ')')) { + if (!ast_strlen_zero(argv[2]) && (argv[2][strlen(argv[2]) - 1] == ')')) ret = ast_func_read(chan, argv[2], tempstr, sizeof(tempstr)); - } else { - pbx_retrieve_variable(chan, argv[2], &ret, tempstr, sizeof(tempstr), NULL); - } + else + ret = pbx_builtin_getvar_helper(chan, argv[2]); if (ret) fdprintf(agi->fd, "200 result=1 (%s)\n", ret);