From: Automerge script Date: Wed, 17 May 2006 16:07:08 +0000 (+0000) Subject: automerge commit X-Git-Tag: 1.2.9.1-netsec~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a3e4e3a382b9bbb57fc027359ff64e37922e303;p=thirdparty%2Fasterisk.git automerge commit git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@27811 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/apps/app_osplookup.c b/apps/app_osplookup.c index 2fe2d016ac..f436d7cfa8 100644 --- a/apps/app_osplookup.c +++ b/apps/app_osplookup.c @@ -216,31 +216,33 @@ static int ospnext_exec(struct ast_channel *chan, void *data) cause = str2cause(args.cause); temp = pbx_builtin_getvar_helper(chan, "OSPHANDLE"); result.handle = -1; - if (!ast_strlen_zero(temp) && (sscanf(temp, "%d", &result.handle) == 1) && (result.handle > -1)) { - temp = pbx_builtin_getvar_helper(chan, "OSPRESULTS"); - if (ast_strlen_zero(temp) || (sscanf(temp, "%d", &result.numresults) != 1)) { - result.numresults = 0; - } - if ((res = ast_osp_next(&result, cause)) > 0) { - char tmp[80]; - snprintf(tmp, sizeof(tmp), "%d", result.handle); - pbx_builtin_setvar_helper(chan, "_OSPHANDLE", tmp); - pbx_builtin_setvar_helper(chan, "_OSPTECH", result.tech); - pbx_builtin_setvar_helper(chan, "_OSPDEST", result.dest); - pbx_builtin_setvar_helper(chan, "_OSPTOKEN", result.token); - snprintf(tmp, sizeof(tmp), "%d", result.numresults); - pbx_builtin_setvar_helper(chan, "_OSPRESULTS", tmp); - pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "SUCCESS"); - } + if (ast_strlen_zero(temp) || (sscanf(temp, "%d", &result.handle) != 1)) { + result.handle = -1; + } + temp = pbx_builtin_getvar_helper(chan, "OSPRESULTS"); + if (ast_strlen_zero(temp) || (sscanf(temp, "%d", &result.numresults) != 1)) { + result.numresults = 0; + } + if ((res = ast_osp_next(&result, cause)) > 0) { + char tmp[80]; + snprintf(tmp, sizeof(tmp), "%d", result.handle); + pbx_builtin_setvar_helper(chan, "_OSPHANDLE", tmp); + pbx_builtin_setvar_helper(chan, "_OSPTECH", result.tech); + pbx_builtin_setvar_helper(chan, "_OSPDEST", result.dest); + pbx_builtin_setvar_helper(chan, "_OSPTOKEN", result.token); + snprintf(tmp, sizeof(tmp), "%d", result.numresults); + pbx_builtin_setvar_helper(chan, "_OSPRESULTS", tmp); + pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "SUCCESS"); } else { if (!res) { if (result.handle < 0) ast_log(LOG_NOTICE, "OSP Lookup Next failed for handle '%d'\n", result.handle); else ast_log(LOG_DEBUG, "No OSP handle specified\n"); - pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "FAILED"); } else ast_log(LOG_DEBUG, "Got hangup on '%s' while doing OSP Next!\n", chan->name); + + pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "FAILED"); } if (!res) { /* Look for a "busy" place */