[Asterisk-cvs] asterisk/channels chan_zap.c,1.385,1.386

markster at lists.digium.com markster at lists.digium.com
Fri Dec 10 19:04:45 CST 2004


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv18427/channels

Modified Files:
	chan_zap.c 
Log Message:
Reload fixes (bug #2991)


Index: chan_zap.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_zap.c,v
retrieving revision 1.385
retrieving revision 1.386
diff -u -d -r1.385 -r1.386
--- chan_zap.c	9 Dec 2004 22:39:14 -0000	1.385
+++ chan_zap.c	11 Dec 2004 00:02:08 -0000	1.386
@@ -6283,13 +6283,15 @@
 	prev = NULL;
 
 	while (tmp2) {
-		if (tmp2->channel == channel) {
-			tmp = tmp2;
-			here = 1;
-			break;
-		}
-		if (tmp2->channel > channel) {
-			break;
+		if (!tmp2->destroy) {
+			if (tmp2->channel == channel) {
+				tmp = tmp2;
+				here = 1;
+				break;
+			}
+			if (tmp2->channel > channel) {
+				break;
+			}
 		}
 		prev = tmp2;
 		tmp2 = tmp2->next;
@@ -9131,61 +9133,63 @@
 		return -1;
 	}
 #ifdef ZAPATA_PRI
-	/* Process trunkgroups first */
-	v = ast_variable_browse(cfg, "trunkgroups");
-	while(v) {
-		if (!strcasecmp(v->name, "trunkgroup")) {
-			trunkgroup = atoi(v->value);
-			if (trunkgroup > 0) {
-				if ((c = strchr(v->value, ','))) {
-					i = 0;
-					memset(dchannels, 0, sizeof(dchannels));
-					while(c && (i < NUM_DCHANS)) {
-						dchannels[i] = atoi(c + 1);
-						if (dchannels[i] < 0) {
-							ast_log(LOG_WARNING, "D-channel for trunk group %d must be a postiive number at line %d of zapata.conf\n", trunkgroup, v->lineno);
+	if (!reload) {
+		/* Process trunkgroups first */
+		v = ast_variable_browse(cfg, "trunkgroups");
+		while(v) {
+			if (!strcasecmp(v->name, "trunkgroup")) {
+				trunkgroup = atoi(v->value);
+				if (trunkgroup > 0) {
+					if ((c = strchr(v->value, ','))) {
+						i = 0;
+						memset(dchannels, 0, sizeof(dchannels));
+						while(c && (i < NUM_DCHANS)) {
+							dchannels[i] = atoi(c + 1);
+							if (dchannels[i] < 0) {
+								ast_log(LOG_WARNING, "D-channel for trunk group %d must be a postiive number at line %d of zapata.conf\n", trunkgroup, v->lineno);
+							} else
+								i++;
+							c = strchr(c + 1, ',');
+						}
+						if (i) {
+							if (pri_create_trunkgroup(trunkgroup, dchannels)) {
+								ast_log(LOG_WARNING, "Unable to create trunk group %d with Primary D-channel %d at line %d of zapata.conf\n", trunkgroup, dchannels[0], v->lineno);
+							} else if (option_verbose > 1)
+								ast_verbose(VERBOSE_PREFIX_2 "Created trunk group %d with Primary D-channel %d and %d backup%s\n", trunkgroup, dchannels[0], i - 1, (i == 1) ? "" : "s");
 						} else
-							i++;
-						c = strchr(c + 1, ',');
-					}
-					if (i) {
-						if (pri_create_trunkgroup(trunkgroup, dchannels)) {
-							ast_log(LOG_WARNING, "Unable to create trunk group %d with Primary D-channel %d at line %d of zapata.conf\n", trunkgroup, dchannels[0], v->lineno);
-						} else if (option_verbose > 1)
-							ast_verbose(VERBOSE_PREFIX_2 "Created trunk group %d with Primary D-channel %d and %d backup%s\n", trunkgroup, dchannels[0], i - 1, (i == 1) ? "" : "s");
+							ast_log(LOG_WARNING, "Trunk group %d lacks any valid D-channels at line %d of zapata.conf\n", trunkgroup, v->lineno);
 					} else
-						ast_log(LOG_WARNING, "Trunk group %d lacks any valid D-channels at line %d of zapata.conf\n", trunkgroup, v->lineno);
+						ast_log(LOG_WARNING, "Trunk group %d lacks a primary D-channel at line %d of zapata.conf\n", trunkgroup, v->lineno);
 				} else
-					ast_log(LOG_WARNING, "Trunk group %d lacks a primary D-channel at line %d of zapata.conf\n", trunkgroup, v->lineno);
-			} else
-				ast_log(LOG_WARNING, "Trunk group identifier must be a positive integer at line %d of zapata.conf\n", v->lineno);
-		} else if (!strcasecmp(v->name, "spanmap")) {
-			spanno = atoi(v->value);
-			if (spanno > 0) {
-				if ((c = strchr(v->value, ','))) {
-					trunkgroup = atoi(c + 1);
-					if (trunkgroup > 0) {
-						if ((c = strchr(c + 1, ','))) 
-							logicalspan = atoi(c + 1);
-						else
-							logicalspan = 0;
-						if (logicalspan >= 0) {
-							if (pri_create_spanmap(spanno - 1, trunkgroup, logicalspan)) {
-								ast_log(LOG_WARNING, "Failed to map span %d to trunk group %d (logical span %d)\n", spanno, trunkgroup, logicalspan);
-							} else if (option_verbose > 1) 
-								ast_verbose(VERBOSE_PREFIX_2 "Mapped span %d to trunk group %d (logical span %d)\n", spanno, trunkgroup, logicalspan);
+					ast_log(LOG_WARNING, "Trunk group identifier must be a positive integer at line %d of zapata.conf\n", v->lineno);
+			} else if (!strcasecmp(v->name, "spanmap")) {
+				spanno = atoi(v->value);
+				if (spanno > 0) {
+					if ((c = strchr(v->value, ','))) {
+						trunkgroup = atoi(c + 1);
+						if (trunkgroup > 0) {
+							if ((c = strchr(c + 1, ','))) 
+								logicalspan = atoi(c + 1);
+							else
+								logicalspan = 0;
+							if (logicalspan >= 0) {
+								if (pri_create_spanmap(spanno - 1, trunkgroup, logicalspan)) {
+									ast_log(LOG_WARNING, "Failed to map span %d to trunk group %d (logical span %d)\n", spanno, trunkgroup, logicalspan);
+								} else if (option_verbose > 1) 
+									ast_verbose(VERBOSE_PREFIX_2 "Mapped span %d to trunk group %d (logical span %d)\n", spanno, trunkgroup, logicalspan);
+							} else
+								ast_log(LOG_WARNING, "Logical span must be a postive number, or '0' (for unspecified) at line %d of zapata.conf\n", v->lineno);
 						} else
-							ast_log(LOG_WARNING, "Logical span must be a postive number, or '0' (for unspecified) at line %d of zapata.conf\n", v->lineno);
+							ast_log(LOG_WARNING, "Trunk group must be a postive number at line %d of zapata.conf\n", v->lineno);
 					} else
-						ast_log(LOG_WARNING, "Trunk group must be a postive number at line %d of zapata.conf\n", v->lineno);
+						ast_log(LOG_WARNING, "Missing trunk group for span map at line %d of zapata.conf\n", v->lineno);
 				} else
-					ast_log(LOG_WARNING, "Missing trunk group for span map at line %d of zapata.conf\n", v->lineno);
-			} else
-				ast_log(LOG_WARNING, "Span number must be a postive integer at line %d of zapata.conf\n", v->lineno);
-		} else {
-			ast_log(LOG_NOTICE, "Ignoring unknown keyword '%s' in trunkgroups\n", v->name);
+					ast_log(LOG_WARNING, "Span number must be a postive integer at line %d of zapata.conf\n", v->lineno);
+			} else {
+				ast_log(LOG_NOTICE, "Ignoring unknown keyword '%s' in trunkgroups\n", v->name);
+			}
+			v = v->next;
 		}
-		v = v->next;
 	}
 #endif
 	v = ast_variable_browse(cfg, "channels");




More information about the svn-commits mailing list