[svn-commits] irroot: branch irroot/distrotech-customers-trunk r322182 - /team/irroot/distr...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Jun 7 04:10:43 CDT 2011


Author: irroot
Date: Tue Jun  7 04:10:39 2011
New Revision: 322182

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=322182
Log:
app_queue Cleanups

Modified:
    team/irroot/distrotech-customers-trunk/apps/app_queue.c

Modified: team/irroot/distrotech-customers-trunk/apps/app_queue.c
URL: http://svnview.digium.com/svn/asterisk/team/irroot/distrotech-customers-trunk/apps/app_queue.c?view=diff&rev=322182&r1=322181&r2=322182
==============================================================================
--- team/irroot/distrotech-customers-trunk/apps/app_queue.c (original)
+++ team/irroot/distrotech-customers-trunk/apps/app_queue.c Tue Jun  7 04:10:39 2011
@@ -537,7 +537,7 @@
 		<description>
 			<para>Allows access to queue counts [R] and member information [R/W].</para>
 			<para>
-				<replaceable>queuename</replaceable> is required for all operations 
+				<replaceable>queuename</replaceable> is required for all operations
 				<replaceable>interface</replaceable> is required for all member operations.
 			</para>
 		</description>
@@ -1212,7 +1212,7 @@
 static struct member *interface_exists(struct call_queue *q, const char *interface);
 static int set_member_paused(const char *queuename, const char *interface, const char *reason, int paused);
 
-static void queue_transfer_fixup(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan); 
+static void queue_transfer_fixup(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan);
 /*! \brief sets the QUEUESTATUS channel variable */
 static void set_queue_result(struct ast_channel *chan, enum queue_result res)
 {
@@ -2107,11 +2107,11 @@
 	int ignorebusy = 0;
 
 	const char *config_val;
-	const char *rt_uniqueid=ast_variable_retrieve(member_config, interface, "uniqueid");
-	const char *membername=S_OR(ast_variable_retrieve(member_config, interface, "membername"),interface);
-	const char *state_interface=S_OR(ast_variable_retrieve(member_config, interface, "state_interface"),interface);
-	const char *penalty_str=ast_variable_retrieve(member_config, interface, "penalty");
-	const char *paused_str=ast_variable_retrieve(member_config, interface, "paused");
+	const char *rt_uniqueid = ast_variable_retrieve(member_config, interface, "uniqueid");
+	const char *membername = S_OR(ast_variable_retrieve(member_config, interface, "membername"), interface);
+	const char *state_interface = S_OR(ast_variable_retrieve(member_config, interface, "state_interface"), interface);
+	const char *penalty_str = ast_variable_retrieve(member_config, interface, "penalty");
+	const char *paused_str = ast_variable_retrieve(member_config, interface, "paused");
 
 	if (ast_strlen_zero(rt_uniqueid)) {
 		ast_log(LOG_WARNING, "Realtime field uniqueid is empty for member %s\n", S_OR(membername, "NULL"));
@@ -2120,10 +2120,11 @@
 
 	if (penalty_str) {
 		penalty = atoi(penalty_str);
-		if ((penalty < 0) && negitive_penalty_invalid)
+		if ((penalty < 0) && negitive_penalty_invalid) {
 			return;
-		else if (penalty < 0)
+		} else if (penalty < 0) {
 			penalty = 0;
+		}
 	}
 
 	if (paused_str) {
@@ -2132,34 +2133,35 @@
 			paused = 0;
 	}
 
-	if ((config_val = ast_variable_retrieve(member_config, interface, "ignorebusy")))
-		ignorebusy=ast_true(config_val);
-	else
-		ignorebusy=1;
-
- 	/* Find member by realtime uniqueid and update */
- 	mem_iter = ao2_iterator_init(q->members, 0);
- 	while ((m = ao2_iterator_next(&mem_iter))) {
- 		if (!strcasecmp(m->rt_uniqueid, rt_uniqueid)) {
- 			m->dead = 0;	/* Do not delete this one. */
- 			ast_copy_string(m->rt_uniqueid, rt_uniqueid, sizeof(m->rt_uniqueid));
- 			if (paused_str)
- 				m->paused = paused;
- 			if (strcasecmp(state_interface, m->state_interface)) {
- 				ast_copy_string(m->state_interface, state_interface, sizeof(m->state_interface));
- 			}	   
- 			m->penalty = penalty;
+	if ((config_val = ast_variable_retrieve(member_config, interface, "ignorebusy"))) {
+		ignorebusy = ast_true(config_val);
+	} else {
+		ignorebusy = 1;
+	}
+
+	/* Find member by realtime uniqueid and update */
+	mem_iter = ao2_iterator_init(q->members, 0);
+	while ((m = ao2_iterator_next(&mem_iter))) {
+		if (!strcasecmp(m->rt_uniqueid, rt_uniqueid)) {
+			m->dead = 0;	/* Do not delete this one. */
+			ast_copy_string(m->rt_uniqueid, rt_uniqueid, sizeof(m->rt_uniqueid));
+			if (paused_str)
+				m->paused = paused;
+			if (strcasecmp(state_interface, m->state_interface)) {
+				ast_copy_string(m->state_interface, state_interface, sizeof(m->state_interface));
+			}
+			m->penalty = penalty;
 			m->ignorebusy = ignorebusy;
- 			found = 1;
- 			ao2_ref(m, -1);
- 			break;
- 		}
- 		ao2_ref(m, -1);
- 	}
+			found = 1;
+			ao2_ref(m, -1);
+			break;
+		}
+		ao2_ref(m, -1);
+	}
 	ao2_iterator_destroy(&mem_iter);
 
- 	/* Create a new member */
- 	if (!found) {
+	/* Create a new member */
+	if (!found) {
 		if ((m = create_queue_member(interface, membername, penalty, paused, state_interface))) {
 			m->dead = 0;
 			m->realtime = 1;
@@ -2915,8 +2917,9 @@
 			case AST_DEVICE_RINGING:
 			case AST_DEVICE_RINGINUSE:
 			case AST_DEVICE_ONHOLD:
-				if ((!q->ringinuse) || (!mem->ignorebusy))
+				if ((!q->ringinuse) || (!mem->ignorebusy)) {
 					break;
+				}
 				/* else fall through */
 			case AST_DEVICE_NOT_INUSE:
 			case AST_DEVICE_UNKNOWN:
@@ -3056,15 +3059,16 @@
 	/* on entry here, we know that tmp->chan == NULL */
 	if (tmp->member->paused) {
 		ast_debug(1, "%s paused, can't receive call\n", tmp->interface);
-		if (qe->chan->cdr)
+		if (qe->chan->cdr) {
 			ast_cdr_busy(qe->chan->cdr);
+		}
 		tmp->stillgoing = 0;
 		return 0;
 	}
 
 	if ((tmp->lastqueue && tmp->lastqueue->wrapuptime && (time(NULL) - tmp->lastcall < tmp->lastqueue->wrapuptime)) ||
 		(!tmp->lastqueue && qe->parent->wrapuptime && (time(NULL) - tmp->lastcall < qe->parent->wrapuptime))) {
-		ast_debug(1, "Wrapuptime not yet expired on queue %s for %s\n", 
+		ast_debug(1, "Wrapuptime not yet expired on queue %s for %s\n",
 				(tmp->lastqueue ? tmp->lastqueue->name : qe->parent->name), tmp->interface);
 		if (qe->chan->cdr)
 			ast_cdr_busy(qe->chan->cdr);
@@ -3077,7 +3081,7 @@
 		if ((tmp->member->status == AST_DEVICE_UNKNOWN) || (tmp->member->status == AST_DEVICE_NOT_INUSE)) {
 			newstate = ast_parse_device_state(tmp->member->interface);
 			if (newstate != tmp->member->status) {
-				ast_log(LOG_ERROR, "Found a channel matching iterface %s while status was %i changed to %i\n", 
+				ast_log(LOG_ERROR, "Found a channel matching iterface %s while status was %i changed to %i\n",
 					tmp->member->interface, tmp->member->status, newstate);
 				update_status(qe->parent, tmp->member, newstate);
 			}
@@ -3454,7 +3458,7 @@
 			ao2_lock(qe->parent);
 			if ((mem = interface_exists(qe->parent, interface))) {
 				time_t idletime = time(&idletime)-mem->lastcall;
- 				if ((mem->lastcall != 0) && (qe->parent->autopausedelay > idletime)) {
+				if ((mem->lastcall != 0) && (qe->parent->autopausedelay > idletime)) {
 					ao2_unlock(qe->parent);
 					return;
 				}
@@ -5436,10 +5440,10 @@
 			foundqueue++;
 			if ((mem = interface_exists(q, interface))) {
 				foundinterface++;
-				if (!mem->realtime)
+				if (!mem->realtime) {
 					mem->penalty = penalty;
-				else {
-					sprintf(rtpenalty,"%i",penalty);
+				} else {
+					sprintf(rtpenalty,"%i", penalty);
 					update_realtime_member_field(mem, q->name, "penalty", rtpenalty);
 				}
 				ast_queue_log(q->name, "NONE", interface, "PENALTY", "%d", penalty);
@@ -6228,7 +6232,7 @@
 	return 0;
 }
 
-/*! 
+/*!
  * \brief Get number either busy / free / ready or total members of a specific queue
  * \brief Get or set member properties penalty / paused / ignorebusy
  * \retval number of members (busy / free / ready / total) or member info (penalty / paused / ignorebusy)
@@ -6293,20 +6297,21 @@
 			ao2_iterator_destroy(&mem_iter);
 		} else if (!strcasecmp(args.option, "count") || ast_strlen_zero(args.option)) {
 			count = q->membercount;
-		} else if (!strcasecmp(args.option, "penalty") && !ast_strlen_zero(args.interface)) {
-			if ((m = interface_exists(q, args.interface)))
-				count = m->penalty;
-		} else if (!strcasecmp(args.option, "paused") && !ast_strlen_zero(args.interface)) {
-			if ((m = interface_exists(q, args.interface)))
-				count = m->paused;
-		} else if (!strcasecmp(args.option, "ignorebusy") && !ast_strlen_zero(args.interface)) {
-			if ((m = interface_exists(q, args.interface)))
-				count = m->ignorebusy;
+		} else if (!strcasecmp(args.option, "penalty") && !ast_strlen_zero(args.interface) &&
+			   ((m = interface_exists(q, args.interface)))) {
+			count = m->penalty;
+		} else if (!strcasecmp(args.option, "paused") && !ast_strlen_zero(args.interface) &&
+			   ((m = interface_exists(q, args.interface)))) {
+			count = m->paused;
+		} else if (!strcasecmp(args.option, "ignorebusy") && !ast_strlen_zero(args.interface) &&
+			   ((m = interface_exists(q, args.interface)))) {
+			count = m->ignorebusy;
 		}
 		ao2_unlock(q);
 		queue_t_unref(q, "Done with temporary reference in QUEUE_MEMBER()");
-	} else
+	} else {
 		ast_log(LOG_WARNING, "queue %s was not found\n", args.queuename);
+	}
 
 	snprintf(buf, len, "%d", count);
 
@@ -6347,7 +6352,7 @@
 	memvalue = atoi(value);
 
 	if (!strcasecmp(args.option, "penalty")) {
-		/* if queuename = NULL then penalty will be set for interface in all the queues. */
+		/* if queuename = NULL then penalty will be set for interface in all the queues.*/
 		if (set_member_penalty(args.queuename, args.interface, memvalue)) {
 			ast_log(LOG_ERROR, "Invalid interface, queue or penalty\n");
 			return -1;
@@ -6355,17 +6360,19 @@
 	} else if ((q = load_realtime_queue(args.queuename))) {
 		ao2_lock(q);
 		if ((m = interface_exists(q, args.interface))) {
-			sprintf(rtvalue, "%s",(memvalue <= 0)?"0":"1");
+			sprintf(rtvalue, "%s",(memvalue <= 0) ? "0" : "1");
 			if (!strcasecmp(args.option, "paused")) {
-				if (m->realtime)
+				if (m->realtime) {
 					update_realtime_member_field(m, q->name, args.option, rtvalue);
-				else
-					m->paused = (memvalue <= 0)?0:1;
+				} else {
+					m->paused = (memvalue <= 0) ? 0 : 1;
+				}
 			} else if (!strcasecmp(args.option, "ignorebusy")) {
-				if (m->realtime)
+				if (m->realtime) {
 					update_realtime_member_field(m, q->name, args.option, rtvalue);
-				else
-					m->ignorebusy = (memvalue <= 0)?0:1;
+				} else {
+					m->ignorebusy = (memvalue <= 0) ? 0 : 1;
+				}
 			} else {
 				ast_log(LOG_ERROR, "Invalid option, only penalty , paused or ignorebusy are valid\n");
 				return -1;
@@ -6382,10 +6389,10 @@
 	return 0;
 }
 
-/*! 
+/*!
  * \brief Get the total number of members in a specific queue (Deprecated)
- * \retval number of members 
- * \retval -1 on error 
+ * \retval number of members
+ * \retval -1 on error
 */
 static int queue_function_qac_dep(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
 {
@@ -6674,8 +6681,9 @@
 {
 	const char *general_val = NULL;
 	queue_persistent_members = 0;
-	if ((general_val = ast_variable_retrieve(cfg, "general", "persistentmembers")))
+	if ((general_val = ast_variable_retrieve(cfg, "general", "persistentmembers"))) {
 		queue_persistent_members = ast_true(general_val);
+	}
 	autofill_default = 0;
 	if ((general_val = ast_variable_retrieve(cfg, "general", "autofill")))
 		autofill_default = ast_true(general_val);




More information about the svn-commits mailing list