From: Charles Kerr Date: Tue, 16 Dec 2008 06:46:27 +0000 (+0000) Subject: (trunk libT) add some assertions to tr_compareAddresses() X-Git-Tag: 1.60~744 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=748a9f1c9292e54f898ae8283abed8236e96572e;p=transmission (trunk libT) add some assertions to tr_compareAddresses() --- diff --git a/libtransmission/net.c b/libtransmission/net.c index 5238ea818..e8dbfcd5a 100644 --- a/libtransmission/net.c +++ b/libtransmission/net.c @@ -127,27 +127,25 @@ tr_normalizeV4Mapped( tr_address * const addr ) * >0 if a > b * 0 if a == b */ -int -tr_compareAddresses( const tr_address * a, const tr_address * b) -{ - int retval; - int addrlen; +int +tr_compareAddresses( const tr_address * a, const tr_address * b) +{ + int addrlen; + + assert( a ); + assert( b ); + assert( a->type == TR_AF_INET || a->type == TR_AF_INET6 ); + assert( b->type == TR_AF_INET || b->type == TR_AF_INET6 ); /* IPv6 addresses are always "greater than" IPv4 */ - if( a->type == TR_AF_INET && b->type == TR_AF_INET6 ) - return 1; - if( a->type == TR_AF_INET6 && b->type == TR_AF_INET ) - return -1; + if( a->type != b->type ) + return a->type == TR_AF_INET ? 1 : -1; if( a->type == TR_AF_INET ) addrlen = sizeof( struct in_addr ); else addrlen = sizeof( struct in6_addr ); - retval = memcmp( &a->addr, &b->addr, addrlen ); - if( retval == 0 ) - return 0; - - return retval; + return memcmp( &a->addr, &b->addr, addrlen ); } /***********************************************************************