From: Steve Murphy Date: Tue, 15 Aug 2006 22:13:47 +0000 (+0000) Subject: This revision fixes bug 7731, the inability for macros to be called more than one... X-Git-Tag: 1.2.11~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f4e47e9b51f015c39413d50158b837357be91c5f;p=thirdparty%2Fasterisk.git This revision fixes bug 7731, the inability for macros to be called more than one level deep in the 'h' extension. It also pushes up the limit of recursion depth from 7 to 20. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@39931 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++;