From 3e89d628847193d5cf06a42fb44f755af3b95889 Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Fri, 19 Aug 2011 20:00:19 +0000 Subject: [PATCH] Merged revisions 332654 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/10 ........ r332654 | kmoore | 2011-08-19 14:59:34 -0500 (Fri, 19 Aug 2011) | 8 lines Make CONFBRIDGE_INFO behave more nicely CONFBRIDGE_INFO doesn't behave as well in edge cases as MEETME_INFO. With this patch, CONFBRIDGE_INFO should behave in a much more reasonable manner when presented with invalid conferences and keywords. Review: https://reviewboard.asterisk.org/r/1359/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332655 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_confbridge.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/apps/app_confbridge.c b/apps/app_confbridge.c index 6e992ebd31..ed00816334 100644 --- a/apps/app_confbridge.c +++ b/apps/app_confbridge.c @@ -2623,14 +2623,14 @@ static int func_confbridge_info(struct ast_channel *chan, const char *cmd, char return -1; } if (!ao2_container_count(conference_bridges)) { - ast_log(LOG_ERROR, "No active conferences.\n"); - return -1; + snprintf(buf, len, "0"); + return 0; } ast_copy_string(tmp.name, args.confno, sizeof(tmp.name)); bridge = ao2_find(conference_bridges, &tmp, OBJ_POINTER); if (!bridge) { - ast_log(LOG_ERROR, "Conference '%s' not found.\n", args.confno); - return -1; + snprintf(buf, len, "0"); + return 0; } /* get the correct count for the type requested */ @@ -2654,9 +2654,7 @@ static int func_confbridge_info(struct ast_channel *chan, const char *cmd, char } else if (!strncasecmp(args.type, "locked", 6)) { count = bridge->locked; } else { - ao2_unlock(bridge); - ao2_ref(bridge, -1); - return -1; + ast_log(LOG_ERROR, "Invalid keyword.\n"); } snprintf(buf, len, "%d", count); ao2_unlock(bridge);