On Mon, 15 Mar 2010, Brandon Casey wrote: > diff --git a/daemon.c b/daemon.c > index 3769b6f..8a52fdc 100644 > --- a/daemon.c > +++ b/daemon.c > @@ -590,9 +590,11 @@ static int execute(struct sockaddr *addr) > static int addrcmp(const struct sockaddr_storage *s1, > const struct sockaddr_storage *s2) > { > - if (s1->ss_family != s2->ss_family) > - return s1->ss_family - s2->ss_family; > - if (s1->ss_family == AF_INET) > + if (((const struct sockaddr*) s1)->sa_family != > + ((const struct sockaddr*) s2)->sa_family) > + return ((const struct sockaddr*) s1)->sa_family - > + ((const struct sockaddr*) s2)->sa_family; > + if (((const struct sockaddr*) s1)->sa_family == AF_INET) > return memcmp(&((struct sockaddr_in *)s1)->sin_addr, > &((struct sockaddr_in *)s2)->sin_addr, > sizeof(struct in_addr)); Coming to think about it, would it simplify the code even more if the function were to take a const struct sockaddr* as a parameter instead? That would, on the other hand, require more casts where it's called, though... // Martin -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html