[asterisk-commits] seanbright: trunk r196945 - /trunk/main/manager.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue May 26 17:38:10 CDT 2009


Author: seanbright
Date: Tue May 26 17:38:05 2009
New Revision: 196945

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=196945
Log:
Add ActionID to CoreShowChannel event.

There is inconsistency in how we handle manager responses that are lists of
items and, unfortunately, third parties have come to rely on ActionID being on
every event within those lists instead of just keeping track of the ActionID for
the current response.  This change makes CoreShowChannels include the ActionID
with each CoreShowChannel event generated as a result of it being called.

(closes issue #15001)
Reported by: sum
Patches:
      patchactionid2.patch uploaded by sum (license 766)

Modified:
    trunk/main/manager.c

Modified: trunk/main/manager.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/main/manager.c?view=diff&rev=196945&r1=196944&r2=196945
==============================================================================
--- trunk/main/manager.c (original)
+++ trunk/main/manager.c Tue May 26 17:38:05 2009
@@ -3408,16 +3408,16 @@
 static int action_coreshowchannels(struct mansession *s, const struct message *m)
 {
 	const char *actionid = astman_get_header(m, "ActionID");
-	char actionidtext[256];
+	char idText[256];
 	struct ast_channel *c = NULL;
 	int numchans = 0;
 	int duration, durh, durm, durs;
 	struct ast_channel_iterator *iter;
 
 	if (!ast_strlen_zero(actionid)) {
-		snprintf(actionidtext, sizeof(actionidtext), "ActionID: %s\r\n", actionid);
+		snprintf(idText, sizeof(idText), "ActionID: %s\r\n", actionid);
 	} else {
-		actionidtext[0] = '\0';
+		idText[0] = '\0';
 	}
 
 	if (!(iter = ast_channel_iterator_all_new(0))) {
@@ -3444,6 +3444,7 @@
 
 		astman_append(s,
 			"Event: CoreShowChannel\r\n"
+			"%s"
 			"Channel: %s\r\n"
 			"UniqueID: %s\r\n"
 			"Context: %s\r\n"
@@ -3458,8 +3459,8 @@
 			"AccountCode: %s\r\n"
 			"BridgedChannel: %s\r\n"
 			"BridgedUniqueID: %s\r\n"
-			"\r\n", c->name, c->uniqueid, c->context, c->exten, c->priority, c->_state, ast_state2str(c->_state),
-			c->appl ? c->appl : "", c->data ? S_OR(c->data, ""): "",
+			"\r\n", idText, c->name, c->uniqueid, c->context, c->exten, c->priority, c->_state,
+			ast_state2str(c->_state), c->appl ? c->appl : "", c->data ? S_OR(c->data, "") : "",
 			S_OR(c->cid.cid_num, ""), durbuf, S_OR(c->accountcode, ""), bc ? bc->name : "", bc ? bc->uniqueid : "");
 
 		ast_channel_unlock(c);
@@ -3472,7 +3473,7 @@
 		"EventList: Complete\r\n"
 		"ListItems: %d\r\n"
 		"%s"
-		"\r\n", numchans, actionidtext);
+		"\r\n", numchans, idText);
 
 	ast_channel_iterator_destroy(iter);
 




More information about the asterisk-commits mailing list