[asterisk-commits] file: branch 1.4 r66602 - in /branches/1.4/channels: chan_features.c chan_zap.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Wed May 30 09:06:38 MST 2007


Author: file
Date: Wed May 30 11:06:37 2007
New Revision: 66602

URL: http://svn.digium.com/view/asterisk?view=rev&rev=66602
Log:
Change how channel names are generated a bit. (issue #9825 reported by eldadran)

Modified:
    branches/1.4/channels/chan_features.c
    branches/1.4/channels/chan_zap.c

Modified: branches/1.4/channels/chan_features.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_features.c?view=diff&rev=66602&r1=66601&r2=66602
==============================================================================
--- branches/1.4/channels/chan_features.c (original)
+++ branches/1.4/channels/chan_features.c Wed May 30 11:06:37 2007
@@ -461,7 +461,7 @@
 	for (x=1;x<4;x++) {
 		if (b2)
 			free(b2);
-		b2 = ast_safe_string_alloc("Feature/%s/%s-%d", p->tech, p->dest, x);
+		b2 = ast_safe_string_alloc("%s/%s-%d", p->tech, p->dest, x);
 		for (y=0;y<3;y++) {
 			if (y == index)
 				continue;
@@ -471,7 +471,7 @@
 		if (y >= 3)
 			break;
 	}
-	tmp = ast_channel_alloc(0, state, 0,0, "", "", "", 0, b2);
+	tmp = ast_channel_alloc(0, state, 0,0, "", "", "", 0, "Feature/%s", b2);
 	/* free up the name, it was copied into the channel name */
 	if (b2)
 		free(b2);

Modified: branches/1.4/channels/chan_zap.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_zap.c?view=diff&rev=66602&r1=66601&r2=66602
==============================================================================
--- branches/1.4/channels/chan_zap.c (original)
+++ branches/1.4/channels/chan_zap.c Wed May 30 11:06:37 2007
@@ -5159,7 +5159,7 @@
 	int res;
 	int x,y;
 	int features;
-	char *b2 = 0;
+	char *b2 = NULL;
 	ZT_PARAMS ps;
 	if (i->subs[index].owner) {
 		ast_log(LOG_WARNING, "Channel %d already has a %s call\n", i->channel,subnames[index]);
@@ -5171,20 +5171,20 @@
 			free(b2);
 #ifdef HAVE_PRI
 		if (i->bearer || (i->pri && (i->sig == SIG_FXSKS)))
-			asprintf(&b2, "Zap/%d:%d-%d", i->pri->trunkgroup, i->channel, y);
+			b2 = ast_safe_string_alloc("%d:%d-%d", i->pri->trunkgroup, i->channel, y);
 		else
 #endif
 		if (i->channel == CHAN_PSEUDO)
-			asprintf(&b2, "Zap/pseudo-%ld", ast_random());
+			b2 = ast_safe_string_alloc("pseudo-%ld", ast_random());
 		else	
-			asprintf(&b2, "Zap/%d-%d", i->channel, y);
+			b2 = ast_safe_string_alloc("%d-%d", i->channel, y);
 		for (x = 0; x < 3; x++) {
 			if ((index != x) && i->subs[x].owner && !strcasecmp(b2, i->subs[x].owner->name))
 				break;
 		}
 		y++;
 	} while (x < 3);
-	tmp = ast_channel_alloc(0, state, i->cid_num, i->cid_name, i->accountcode, i->exten, i->context, i->amaflags, b2);
+	tmp = ast_channel_alloc(0, state, i->cid_num, i->cid_name, i->accountcode, i->exten, i->context, i->amaflags, "Zap/%s", b2);
 	if (b2) /*!> b2 can be freed now, it's been copied into the channel structure */
 		free(b2);
 	if (!tmp)



More information about the asterisk-commits mailing list