aboutsummaryrefslogtreecommitdiffstats
path: root/main/pbx.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2009-06-26 19:37:43 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2009-06-26 19:37:43 +0000
commit1f2f558a5a69b7209eb1d502e34c56c02faed2ab (patch)
tree7156030dae1bf4411818e69cf43647e366fe712e /main/pbx.c
parent268988c40ff81235fc35491d3c6cd787d676d8df (diff)
Merged revisions 203702 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r203702 | russell | 2009-06-26 14:31:14 -0500 (Fri, 26 Jun 2009) | 5 lines Make invalid hints report Unavailable instead of Idle. (closes issue #14413) Reported by: pj ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@203704 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/pbx.c')
-rw-r--r--main/pbx.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/main/pbx.c b/main/pbx.c
index 8fdc769c9..5734241f1 100644
--- a/main/pbx.c
+++ b/main/pbx.c
@@ -3274,8 +3274,9 @@ static int ast_extension_state2(struct ast_exten *e)
rest = hint; /* One or more devices separated with a & character */
- while ( (cur = strsep(&rest, "&")) )
+ while ( (cur = strsep(&rest, "&")) ) {
ast_devstate_aggregate_add(&agg, ast_device_state(cur));
+ }
state = ast_devstate_aggregate_result(&agg);
@@ -3285,6 +3286,8 @@ static int ast_extension_state2(struct ast_exten *e)
case AST_DEVICE_BUSY:
return AST_EXTENSION_BUSY;
case AST_DEVICE_UNAVAILABLE:
+ case AST_DEVICE_UNKNOWN:
+ case AST_DEVICE_INVALID:
return AST_EXTENSION_UNAVAILABLE;
case AST_DEVICE_RINGINUSE:
return (AST_EXTENSION_INUSE | AST_EXTENSION_RINGING);
@@ -3292,8 +3295,6 @@ static int ast_extension_state2(struct ast_exten *e)
return AST_EXTENSION_RINGING;
case AST_DEVICE_INUSE:
return AST_EXTENSION_INUSE;
- case AST_DEVICE_UNKNOWN:
- case AST_DEVICE_INVALID:
case AST_DEVICE_NOT_INUSE:
return AST_EXTENSION_NOT_INUSE;
}