aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-07-25 06:26:39 +0000
committerjpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b>2009-07-25 06:26:39 +0000
commit0aa9787ac3a6868f8f6c2a442de49ccf6532502b (patch)
treea5ec1848e14dc0af23dbca255ba94759536d3267
parenta96aa99e27ef7555af2d556e24e210624720f826 (diff)
Merged revisions 208749 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ................ r208749 | jpeeler | 2009-07-25 01:23:18 -0500 (Sat, 25 Jul 2009) | 13 lines 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. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.2@208755 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_iax2.c2
-rw-r--r--channels/chan_skinny.c10
-rw-r--r--main/translate.c4
3 files changed, 10 insertions, 6 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index e1c4edeae..352758182 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -4217,7 +4217,7 @@ static enum ast_bridge_result iax2_bridge(struct ast_channel *c0, struct ast_cha
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;
}
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c
index e8330fa82..5f72ff310 100644
--- a/channels/chan_skinny.c
+++ b/channels/chan_skinny.c
@@ -6243,6 +6243,7 @@ static int get_input(struct skinnysession *s)
{
int res;
int dlen = 0;
+ int *bufaddr;
struct pollfd fds[1];
fds[0].fd = s->fd;
@@ -6289,7 +6290,8 @@ static int get_input(struct skinnysession *s)
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);
@@ -6298,7 +6300,7 @@ static int get_input(struct skinnysession *s)
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);
@@ -6317,13 +6319,15 @@ static int get_input(struct skinnysession *s)
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);
diff --git a/main/translate.c b/main/translate.c
index fea809762..4ac502476 100644
--- a/main/translate.c
+++ b/main/translate.c
@@ -855,7 +855,7 @@ unsigned int ast_translate_available_formats(unsigned int dest, unsigned int src
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 @@ unsigned int ast_translate_available_formats(unsigned int dest, unsigned int src
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