From: Tilghman Lesher Date: Wed, 29 Mar 2006 19:30:57 +0000 (+0000) Subject: Merged revisions 16192 via svnmerge from X-Git-Tag: 1.4.0-beta1~2251 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a532c787f26965a788cb048ec9dd68ff6773f09c;p=thirdparty%2Fasterisk.git Merged revisions 16192 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r16192 | tilghman | 2006-03-29 13:11:18 -0600 (Wed, 29 Mar 2006) | 2 lines Bug 6830 - Let GosubIf work with the same conditions as a GotoIf (change in API approved by Russell) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16193 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_stack.c b/apps/app_stack.c index c32ed952ad..ba68121422 100644 --- a/apps/app_stack.c +++ b/apps/app_stack.c @@ -140,7 +140,7 @@ static int gosubif_exec(struct ast_channel *chan, void *data) label1 = strsep(&args, ":"); label2 = args; - if (ast_true(condition)) { + if (pbx_checkcondition(condition)) { if (label1) { res = gosub_exec(chan, label1); } diff --git a/include/asterisk/pbx.h b/include/asterisk/pbx.h index e56819cb05..8c18fcc03c 100644 --- a/include/asterisk/pbx.h +++ b/include/asterisk/pbx.h @@ -720,6 +720,9 @@ int ast_pbx_outgoing_exten(const char *type, int format, void *data, int timeout particular application with given extension */ int ast_pbx_outgoing_app(const char *type, int format, void *data, int timeout, const char *app, const char *appdata, int *reason, int sync, const char *cid_num, const char *cid_name, struct ast_variable *vars, const char *account, struct ast_channel **locked_channel); +/* Evaluate a condition for non-falseness and return a boolean */ +int pbx_checkcondition(char *condition); + /* Functions for returning values from structures */ const char *ast_get_context_name(struct ast_context *con); const char *ast_get_extension_name(struct ast_exten *exten); diff --git a/pbx.c b/pbx.c index 6ab28ba6da..376124fc46 100644 --- a/pbx.c +++ b/pbx.c @@ -5709,7 +5709,7 @@ void pbx_builtin_clear_globals(void) ast_mutex_unlock(&globalslock); } -static int pbx_checkcondition(char *condition) +int pbx_checkcondition(char *condition) { if (condition) { if (*condition == '\0') {