[systemd-devel] [PATCH] fix compiler warning

Shawn Landden shawn at churchofgit.com
Sun Mar 15 09:21:34 PDT 2015


On Sun, Mar 15, 2015 at 4:53 AM, Ronny Chevalier <chevalier.ronny at gmail.com>
wrote:

> 2015-03-14 17:54 GMT+01:00 Shawn Landden <shawn at churchofgit.com>:
> > 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.
>
> netinet/in.h does not provide in6_port_t according to the manpage. I
> even check with the glibc and on master there is no mention of
> in6_port_t.
> Maybe you are using another libc?
>
> You are right, but has been a bug in an early gcc-5, which quite a few
incorrect warnings.

> >>
> >>
> >> 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
> _______________________________________________
> 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/20150315/45e61afa/attachment.html>


More information about the systemd-devel mailing list