socketaddr struct and incomplete type warnings

  • Follow


Hi,

i got compiler warnings when use some basic socket function.


    struct sockaddr_in server_add;
    ....
    bind( listen_fd, ( struct socketaddr * ) &server_addr
            , sizeof( server_addr ) );

using gcc, above code will cause two warnings,

1, type-punning to incomplete type might break struct-aliasing rules
2, passing arg 2 of 'bind' from incomplete pointer type.

i dont know what these warnings exactly mean and how do i get remove
off them ?

thanks.

-
woody

0
Reply narkewoody (247) 1/5/2006 3:55:04 PM

Steven Woody wrote:
> Hi,
> 
> i got compiler warnings when use some basic socket function.
> 
> 
>     struct sockaddr_in server_add;
>     ....
>     bind( listen_fd, ( struct socketaddr * ) &server_addr
>             , sizeof( server_addr ) );
> 
> using gcc, above code will cause two warnings,
> 
> 1, type-punning to incomplete type might break struct-aliasing rules
> 2, passing arg 2 of 'bind' from incomplete pointer type.
> 
> i dont know what these warnings exactly mean and how do i get remove
> off them ?


The proper name is sockaddr, not socketaddr.

Bj�rn
0
Reply ISO 1/5/2006 5:19:30 PM


Bj=F8rn Augestad wrote:
> Steven Woody wrote:
> > Hi,
> >
> > i got compiler warnings when use some basic socket function.
> >
> >
> >     struct sockaddr_in server_add;
> >     ....
> >     bind( listen_fd, ( struct socketaddr * ) &server_addr
> >             , sizeof( server_addr ) );
> >
> > using gcc, above code will cause two warnings,
> >
> > 1, type-punning to incomplete type might break struct-aliasing rules
> > 2, passing arg 2 of 'bind' from incomplete pointer type.
> >
> > i dont know what these warnings exactly mean and how do i get remove
> > off them ?
>
>
> The proper name is sockaddr, not socketaddr.

:-) sorry for the careless

0
Reply Steven 1/6/2006 1:53:34 AM

2 Replies
483 Views

(page loaded in 0.059 seconds)

Similiar Articles:











7/23/2012 5:53:57 AM


Reply: