On Sat, Mar 14, 2015 at 6:31 AM, Ronny Chevalier <[email protected]> wrote:
> 2015-03-11 4:42 GMT+01:00 Shawn Landden <[email protected]>: > > 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 > [email protected] > http://lists.freedesktop.org/mailman/listinfo/systemd-devel > -- Shawn Landden
_______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
