diff --git a/src/cw/sock_cmpaddr.c b/src/cw/sock_cmpaddr.c index 07ff8581..bd425481 100644 --- a/src/cw/sock_cmpaddr.c +++ b/src/cw/sock_cmpaddr.c @@ -47,14 +47,17 @@ int sock_cmpaddr(const struct sockaddr *addr1, const struct sockaddr *addr2,int int p1,p2; int slen; - if (!addr1){ + if (!addr1 && addr2){ return -1; } - if (!addr2){ - return -1; + if (!addr2 && addr1){ + return 1; } + if (!addr1 && !addr2) + return 0; + if (addr1->sa_family != addr2->sa_family){ return addr1->sa_family - addr2->sa_family; }