diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-01-19 01:16:46 +0000 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-01-19 01:16:46 +0000 |
commit | 1fd15c0a4b22302656d29123c07ba23d811235f9 (patch) | |
tree | e10a33846235f08885b7b92c83f942d3d131fa1c /src/xine-engine/broadcaster.c | |
parent | 724368ce004ce59b82a8aa0dfdccc0ab31acdac9 (diff) | |
download | xine-lib-1fd15c0a4b22302656d29123c07ba23d811235f9.tar.gz xine-lib-1fd15c0a4b22302656d29123c07ba23d811235f9.tar.bz2 |
Fix possible strict aliasing breakage.
CVS patchset: 8526
CVS date: 2007/01/19 01:16:46
Diffstat (limited to 'src/xine-engine/broadcaster.c')
-rw-r--r-- | src/xine-engine/broadcaster.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/xine-engine/broadcaster.c b/src/xine-engine/broadcaster.c index edf52e474..fab99cf55 100644 --- a/src/xine-engine/broadcaster.c +++ b/src/xine-engine/broadcaster.c @@ -19,7 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: broadcaster.c,v 1.12 2006/06/20 00:18:44 dgp85 Exp $ + * $Id: broadcaster.c,v 1.13 2007/01/19 01:16:46 dgp85 Exp $ * * broadcaster.c - xine network broadcaster * @@ -305,7 +305,10 @@ static void audio_put_cb (fifo_buffer_t *fifo, buf_element_t *buf, void *this_ge broadcaster_t *_x_init_broadcaster(xine_stream_t *stream, int port) { broadcaster_t *this; - struct sockaddr_in servAddr; + union { + struct sockaddr_in in; + struct sockaddr sa; + } servAddr; int msock, err; msock = socket(PF_INET, SOCK_STREAM, 0); @@ -314,11 +317,11 @@ broadcaster_t *_x_init_broadcaster(xine_stream_t *stream, int port) xprintf(stream->xine, XINE_VERBOSITY_DEBUG, "broadcaster: error opening master socket.\n"); return NULL; } - servAddr.sin_family = AF_INET; - servAddr.sin_addr.s_addr = htonl(INADDR_ANY); - servAddr.sin_port = htons(port); + servAddr.in.sin_family = AF_INET; + servAddr.in.sin_addr.s_addr = htonl(INADDR_ANY); + servAddr.in.sin_port = htons(port); - if(bind(msock, (struct sockaddr *) &servAddr, sizeof(servAddr))<0) + if(bind(msock, &servAddr.sa, sizeof(servAddr))<0) { xprintf(stream->xine, XINE_VERBOSITY_DEBUG, "broadcaster: error binding to port %d\n", port); return NULL; |