[Asterisk-cvs] asterisk/channels chan_sip.c,1.569,1.570

markster at lists.digium.com markster at lists.digium.com
Wed Nov 17 23:25:57 CST 2004


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

Modified Files:
	chan_sip.c 
Log Message:
Fix little SIP header continuation issue


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.569
retrieving revision 1.570
diff -u -d -r1.569 -r1.570
--- chan_sip.c	17 Nov 2004 03:10:38 -0000	1.569
+++ chan_sip.c	18 Nov 2004 04:26:22 -0000	1.570
@@ -2517,33 +2517,32 @@
 		} 
 		/* Check for end-of-line */ 
 		if (msgbuf[h] == '\n') { 
-		/* Check for end-of-message */ 
+			/* Check for end-of-message */ 
 			if (h + 1 == len) 
-			break; 
-		/* Check for a continuation line */ 
-		if (msgbuf[h + 1] == ' ') { 
-		/* Merge continuation line */ 
-			h++; 
+				break; 
+			/* Check for a continuation line */ 
+			if (msgbuf[h + 1] == ' ' || msgbuf[h + 1] == '\t') { 
+				/* Merge continuation line */ 
+				h++; 
+				continue; 
+			} 
+			/* Propagate LF and start new line */ 
+			msgbuf[t++] = msgbuf[h++]; 
+			lws = 0;
 			continue; 
 		} 
-		/* Propagate LF and start new line */ 
-		msgbuf[t++] = msgbuf[h++]; 
-		lws = 0;
-		continue; 
-	} 
-
-	if (msgbuf[h] == ' ' || msgbuf[h] == '\t') { 
-		if (lws) { 
-			h++; 
+		if (msgbuf[h] == ' ' || msgbuf[h] == '\t') { 
+			if (lws) { 
+				h++; 
+				continue; 
+			} 
+			msgbuf[t++] = msgbuf[h++]; 
+			lws = 1; 
 			continue; 
 		} 
 		msgbuf[t++] = msgbuf[h++]; 
-		lws = 1; 
-		continue; 
-	} 
-	msgbuf[t++] = msgbuf[h++]; 
-	if (lws) 
-		lws = 0; 
+		if (lws) 
+			lws = 0; 
 	} 
 	msgbuf[t] = '\0'; 
 	return t; 




More information about the svn-commits mailing list