2015-03-14 17:54 GMT+01:00 Shawn Landden <sh...@churchofgit.com>: > On Sat, Mar 14, 2015 at 6:31 AM, Ronny Chevalier <chevalier.ro...@gmail.com> > wrote: >> >> 2015-03-11 4:42 GMT+01:00 Shawn Landden <sh...@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? >> >> >> Maybe I'm missing something? >> >> Ronny >> _______________________________________________ >> systemd-devel mailing list >> systemd-devel@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/systemd-devel > > > > > -- > Shawn Landden _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel