[asterisk-commits] jpeeler: trunk r208749 - in /trunk: ./ channels/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sat Jul 25 01:23:23 CDT 2009


Author: jpeeler
Date: Sat Jul 25 01:23:18 2009
New Revision: 208749

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=208749
Log:
Merged revisions 208746 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r208746 | jpeeler | 2009-07-25 01:19:50 -0500 (Sat, 25 Jul 2009) | 7 lines
  
  Fix compiling under dev-mode with gcc 4.4.0.
  
  Mostly trivial changes, but I did not know of any other way to fix the
  "dereferencing type-punned pointer will break strict-aliasing rules" error
  without creating a tmp variable in chan_skinny.
........

Modified:
    trunk/   (props changed)
    trunk/channels/chan_iax2.c
    trunk/channels/chan_skinny.c
    trunk/main/translate.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/chan_iax2.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/channels/chan_iax2.c?view=diff&rev=208749&r1=208748&r2=208749
==============================================================================
--- trunk/channels/chan_iax2.c (original)
+++ trunk/channels/chan_iax2.c Sat Jul 25 01:23:18 2009
@@ -4292,7 +4292,7 @@
 		return AST_BRIDGE_FAILED;
 	}
 	/* Put them in native bridge mode */
-	if (!flags & (AST_BRIDGE_DTMF_CHANNEL_0 | AST_BRIDGE_DTMF_CHANNEL_1)) {
+	if ((!flags) & (AST_BRIDGE_DTMF_CHANNEL_0 | AST_BRIDGE_DTMF_CHANNEL_1)) {
 		iaxs[callno0]->bridgecallno = callno1;
 		iaxs[callno1]->bridgecallno = callno0;
 	}

Modified: trunk/channels/chan_skinny.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/channels/chan_skinny.c?view=diff&rev=208749&r1=208748&r2=208749
==============================================================================
--- trunk/channels/chan_skinny.c (original)
+++ trunk/channels/chan_skinny.c Sat Jul 25 01:23:18 2009
@@ -6329,6 +6329,7 @@
 {
 	int res;
 	int dlen = 0;
+	int *bufaddr;
 	struct pollfd fds[1];
 
 	fds[0].fd = s->fd;
@@ -6375,7 +6376,8 @@
 			return -1;
 		}
 
-		dlen = letohl(*(int *)s->inbuf);
+		bufaddr = (int *)s->inbuf;
+		dlen = letohl(*bufaddr);
 		if (dlen < 4) {
 			ast_debug(1, "Skinny Client sent invalid data.\n");
 			ast_mutex_unlock(&s->lock);
@@ -6384,7 +6386,7 @@
 		if (dlen+8 > sizeof(s->inbuf)) {
 			dlen = sizeof(s->inbuf) - 8;
 		}
-		*(int *)s->inbuf = htolel(dlen);
+		*bufaddr = htolel(dlen);
 
 		res = read(s->fd, s->inbuf+4, dlen+4);
 		ast_mutex_unlock(&s->lock);
@@ -6403,13 +6405,15 @@
 static struct skinny_req *skinny_req_parse(struct skinnysession *s)
 {
 	struct skinny_req *req;
+	int *bufaddr;
 
 	if (!(req = ast_calloc(1, SKINNY_MAX_PACKET)))
 		return NULL;
 
 	ast_mutex_lock(&s->lock);
 	memcpy(req, s->inbuf, skinny_header_size);
-	memcpy(&req->data, s->inbuf+skinny_header_size, letohl(*(int*)(s->inbuf))-4);
+	bufaddr = (int *)(s->inbuf);
+	memcpy(&req->data, s->inbuf+skinny_header_size, letohl(*bufaddr)-4);
 
 	ast_mutex_unlock(&s->lock);
 

Modified: trunk/main/translate.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/main/translate.c?view=diff&rev=208749&r1=208748&r2=208749
==============================================================================
--- trunk/main/translate.c (original)
+++ trunk/main/translate.c Sat Jul 25 01:23:18 2009
@@ -855,7 +855,7 @@
 	   destination format. */
 	for (x = 1; src_audio && (x & AST_FORMAT_AUDIO_MASK); x <<= 1) {
 		/* if this is not a desired format, nothing to do */
-		if (!dest & x)
+		if ((!dest) & x)
 			continue;
 
 		/* if the source is supplying this format, then
@@ -881,7 +881,7 @@
 	   destination format. */
 	for (; src_video && (x & AST_FORMAT_VIDEO_MASK); x <<= 1) {
 		/* if this is not a desired format, nothing to do */
-		if (!dest & x)
+		if ((!dest) & x)
 			continue;
 
 		/* if the source is supplying this format, then




More information about the asterisk-commits mailing list