From 748a9f1c9292e54f898ae8283abed8236e96572e Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Tue, 16 Dec 2008 06:46:27 +0000 Subject: [PATCH] (trunk libT) add some assertions to tr_compareAddresses() --- libtransmission/net.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) 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 ); } /*********************************************************************** -- 2.40.0