From e0680525e756f1ef957edebe0e6858048ddacac5 Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Fri, 30 Sep 2005 14:01:56 +0000
Subject: [PATCH] fix queues properly (issue #5300, take two)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6699 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 apps/app_queue.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/apps/app_queue.c b/apps/app_queue.c
index 27a46625f0..6ddd72169e 100755
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -761,7 +761,9 @@ static struct ast_call_queue *reload_queue_rt(const char *queuename, struct ast_
 				return q;
 			}
 		}
-	}
+	} else if (!member_config)
+		/* Not found in the list, and it's not realtime ... */
+		return NULL;
 
 	/* Check if queue is defined in realtime. */
 	if (!queue_vars) {
@@ -872,12 +874,12 @@ static int join_queue(char *queuename, struct queue_ent *qe, enum queue_result *
 	   Thus we might see an empty member list when a queue is
 	   deleted. In practise, this is unlikely to cause a problem. */
 	queue_vars = ast_load_realtime("queues", "name", queuename, NULL);
-	if(queue_vars)
+	if (queue_vars) {
 		member_config = ast_load_realtime_multientry("queue_members", "interface LIKE", "%", "queue_name", queuename, NULL);
-	
-	if (!member_config) {
-		ast_log(LOG_ERROR, "no queue_members defined in your config (extconfig.conf).\n");
-		return res;
+		if (!member_config) {
+			ast_log(LOG_ERROR, "no queue_members defined in your config (extconfig.conf).\n");
+			return res;
+		}
 	}
 
 	ast_mutex_lock(&qlock);
-- 
GitLab