automerge commit

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@27811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Automerge script
2006-05-17 16:07:08 +00:00
parent 8c111c6a6c
commit 2a3e4e3a38

View File

@@ -216,31 +216,33 @@ static int ospnext_exec(struct ast_channel *chan, void *data)
cause = str2cause(args.cause); cause = str2cause(args.cause);
temp = pbx_builtin_getvar_helper(chan, "OSPHANDLE"); temp = pbx_builtin_getvar_helper(chan, "OSPHANDLE");
result.handle = -1; result.handle = -1;
if (!ast_strlen_zero(temp) && (sscanf(temp, "%d", &result.handle) == 1) && (result.handle > -1)) { if (ast_strlen_zero(temp) || (sscanf(temp, "%d", &result.handle) != 1)) {
temp = pbx_builtin_getvar_helper(chan, "OSPRESULTS"); result.handle = -1;
if (ast_strlen_zero(temp) || (sscanf(temp, "%d", &result.numresults) != 1)) { }
result.numresults = 0; temp = pbx_builtin_getvar_helper(chan, "OSPRESULTS");
} if (ast_strlen_zero(temp) || (sscanf(temp, "%d", &result.numresults) != 1)) {
if ((res = ast_osp_next(&result, cause)) > 0) { result.numresults = 0;
char tmp[80]; }
snprintf(tmp, sizeof(tmp), "%d", result.handle); if ((res = ast_osp_next(&result, cause)) > 0) {
pbx_builtin_setvar_helper(chan, "_OSPHANDLE", tmp); char tmp[80];
pbx_builtin_setvar_helper(chan, "_OSPTECH", result.tech); snprintf(tmp, sizeof(tmp), "%d", result.handle);
pbx_builtin_setvar_helper(chan, "_OSPDEST", result.dest); pbx_builtin_setvar_helper(chan, "_OSPHANDLE", tmp);
pbx_builtin_setvar_helper(chan, "_OSPTOKEN", result.token); pbx_builtin_setvar_helper(chan, "_OSPTECH", result.tech);
snprintf(tmp, sizeof(tmp), "%d", result.numresults); pbx_builtin_setvar_helper(chan, "_OSPDEST", result.dest);
pbx_builtin_setvar_helper(chan, "_OSPRESULTS", tmp); pbx_builtin_setvar_helper(chan, "_OSPTOKEN", result.token);
pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "SUCCESS"); snprintf(tmp, sizeof(tmp), "%d", result.numresults);
} pbx_builtin_setvar_helper(chan, "_OSPRESULTS", tmp);
pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "SUCCESS");
} else { } else {
if (!res) { if (!res) {
if (result.handle < 0) if (result.handle < 0)
ast_log(LOG_NOTICE, "OSP Lookup Next failed for handle '%d'\n", result.handle); ast_log(LOG_NOTICE, "OSP Lookup Next failed for handle '%d'\n", result.handle);
else else
ast_log(LOG_DEBUG, "No OSP handle specified\n"); ast_log(LOG_DEBUG, "No OSP handle specified\n");
pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "FAILED");
} else } else
ast_log(LOG_DEBUG, "Got hangup on '%s' while doing OSP Next!\n", chan->name); ast_log(LOG_DEBUG, "Got hangup on '%s' while doing OSP Next!\n", chan->name);
pbx_builtin_setvar_helper(chan, "OSPNEXTSTATUS", "FAILED");
} }
if (!res) { if (!res) {
/* Look for a "busy" place */ /* Look for a "busy" place */