[sr-dev] git:sr_3.0: siputils(k): gcc 2.95 compile fixes

Andrei Pelinescu-Onciul andrei at iptel.org
Mon Oct 12 18:32:51 CEST 2009


Module: sip-router
Branch: sr_3.0
Commit: 19bd6bd8c4cedc561497c8ff7ccd8d326ca59a2a
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=19bd6bd8c4cedc561497c8ff7ccd8d326ca59a2a

Author: Andrei Pelinescu-Onciul <andrei at iptel.org>
Committer: Andrei Pelinescu-Onciul <andrei at iptel.org>
Date:   Mon Oct 12 18:06:35 2009 +0200

siputils(k): gcc 2.95 compile fixes

- variables must be declared at the beginning of a block

---

 modules_k/siputils/contact_ops.c |    5 ++-
 modules_k/siputils/ring.c        |   46 ++++++++++++++++++++++++-------------
 2 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/modules_k/siputils/contact_ops.c b/modules_k/siputils/contact_ops.c
index 872c239..a796610 100644
--- a/modules_k/siputils/contact_ops.c
+++ b/modules_k/siputils/contact_ops.c
@@ -210,6 +210,7 @@ decode_contact_header (struct sip_msg *msg,char *unused1,char *unused2)
 	
 	
 #ifdef DEBUG
+	str* ruri;
 	fprintf (stdout,"---START--------DECODE CONTACT HEADER-----------------\n");
 #endif
 
@@ -227,9 +228,9 @@ decode_contact_header (struct sip_msg *msg,char *unused1,char *unused2)
 
 #ifdef DEBUG
 	fprintf (stdout,"Using separator %c\n",separator);
-	str* ruri;
 	ruri = GET_RURI(msg);
-	fprintf (stdout,"[len = %d]New uri is->%*.s\n",ruri->len,ruri->len,ruri->s);
+	fprintf (stdout,"[len = %d]New uri is->%.*s\n",
+			ruri->len,ruri->len,ruri->s);
 	ruri = &msg->first_line.u.request.uri;
 	fprintf (stdout, "INITIAL.s=[%.*s]\n", ruri->len, ruri->s);
 #endif
diff --git a/modules_k/siputils/ring.c b/modules_k/siputils/ring.c
index 8c69a96..7528c12 100644
--- a/modules_k/siputils/ring.c
+++ b/modules_k/siputils/ring.c
@@ -192,10 +192,10 @@ static void remove_timeout(unsigned int index)
 static void insert(str callid)
 {
 	unsigned int index = hash(callid.s, callid.len) & HASHTABLEMASK;
-
+	struct ring_record_t* rr;
+	
 	remove_timeout(index);
-
-	struct ring_record_t* rr = shm_malloc(sizeof(struct ring_record_t));
+	rr = shm_malloc(sizeof(struct ring_record_t));
 	assert(rr);
 
 	rr->next = NULL;
@@ -224,10 +224,11 @@ static void insert(str callid)
 static int contains(str callid)
 {
 	unsigned int index = hash(callid.s, callid.len) & HASHTABLEMASK;
+	struct ring_record_t* rr;
 
 	remove_timeout(index);
 
-	struct ring_record_t* rr = (*hashtable)[index].head;
+	rr = (*hashtable)[index].head;
 	while (rr) {
 		if (strncmp(rr->callid, callid.s, callid.len) == 0) return 1;
 		rr = rr->next;
@@ -245,25 +246,38 @@ static int conv183(struct sip_msg *msg)
 	/* content-length and content-type headers are removed */
 	char *del1_start = strstr(msg->buf, "Content-Length:");
 	char *del2_start = strstr(msg->buf, "Content-Type:");
+	char *del1_end;
+	char *del2_end;
+	char *eoh;
+	char *chunk1_start;
+	int chunk1_len;
+	char *chunk1_dst;
+	char *chunk2_start;
+	int chunk2_len;
+	char *chunk2_dst;
+	char *chunk3_start;
+	int chunk3_len;
+	char *chunk3_dst;
+	
 	if (del1_start>del2_start) {
 		char *tmp = del1_start;
 		del1_start = del2_start;
 		del2_start = tmp;
 	}
 
-	char *del1_end = NULL;
+	del1_end = NULL;
 	if (del1_start) {
 		del1_end = strstr(del1_start, "\r\n");
 		if (del1_end) del1_end+=2;
 	}
-	char *del2_end = NULL;
+	del2_end = NULL;
 	if (del2_start) {
 		del2_end = strstr(del2_start, "\r\n");
 		if (del2_end) del2_end+=2;
 	}
 
 	/* 180 message does not need session description */
-	char *eoh = strstr(msg->buf, "\r\n\r\n");
+	eoh = strstr(msg->buf, "\r\n\r\n");
 	if (eoh) eoh+=2;
 
 	if ((!del1_start) || (!del2_start) || (!del1_end) || (!del2_end) || (!eoh)) {
@@ -288,17 +302,17 @@ static int conv183(struct sip_msg *msg)
 	strncpy(msg->first_line.u.reply.reason.s, "Ringing                                           ", msg->first_line.u.reply.reason.len);
 
 	/* calculate addresses of chunks to be moved */
-	char *chunk1_start = del1_end;
-	int chunk1_len     = del2_start-del1_end;
-	char *chunk1_dst   = del1_start;
+	chunk1_start = del1_end;
+	chunk1_len     = (int)(long)(del2_start-del1_end);
+	chunk1_dst   = del1_start;
 
-	char *chunk2_start = del2_end;
-	int chunk2_len     = eoh-del2_end;
-	char *chunk2_dst   = chunk1_dst+chunk1_len;
+	chunk2_start = del2_end;
+	chunk2_len     = (int)(long)(eoh-del2_end);
+	chunk2_dst   = chunk1_dst+chunk1_len;
 
-	char *chunk3_start = "Content-Length: 0\r\n\r\n";
-	int chunk3_len     = strlen(chunk3_start);
-	char *chunk3_dst   = chunk2_dst+chunk2_len;
+	chunk3_start = "Content-Length: 0\r\n\r\n";
+	chunk3_len     = strlen(chunk3_start);
+	chunk3_dst   = chunk2_dst+chunk2_len;
 
 	// move chunks
 	memmove(chunk1_dst, chunk1_start, chunk1_len);




More information about the sr-dev mailing list