[systemd-devel] [PATCH] fix compiler warning

Shawn Landden shawn at churchofgit.com
Sat Mar 14 09:54:09 PDT 2015


On Sat, Mar 14, 2015 at 6:31 AM, Ronny Chevalier <chevalier.ronny at gmail.com>
wrote:

> 2015-03-11 4:42 GMT+01:00 Shawn Landden <shawn at churchofgit.com>:
> > warning: pointer/integer type mismatch in conditional expression
> > ---
> >  src/shared/socket-util.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/shared/socket-util.c b/src/shared/socket-util.c
> > index 5820279..73e1177 100644
> > --- a/src/shared/socket-util.c
> > +++ b/src/shared/socket-util.c
> > @@ -475,8 +475,8 @@ int sockaddr_port(const struct sockaddr *_sa) {
> >                  return -EAFNOSUPPORT;
> >
> >          return ntohs(sa->sa.sa_family == AF_INET6 ?
> > -                       sa->in6.sin6_port :
> > -                       sa->in.sin_port);
> > +                       (uint16_t)sa->in6.sin6_port :
> > +                       (uint16_t)sa->in.sin_port);
> >  }
> >
>
> Hi,
>
> I don't see any warning, and the man (man netinet_in.h) says that
> sin_port and sin6_port are of type in_port_t which is equivalent to
> uint16_t.
>

in_port_t and in6_port_t. If the type returned by a ternary operator is not
identical gcc-5 warns, even though they are both backed by uint16_t and
thus there is no violation.

>
> Maybe I'm missing something?
>
> Ronny
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel
>



-- 
Shawn Landden
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150314/d13c616a/attachment-0001.html>


More information about the systemd-devel mailing list