From: Howard Chu Date: Thu, 8 May 2003 00:29:10 +0000 (+0000) Subject: ITS#2496 use SLAP_PTRCMP for pointer comparisons X-Git-Tag: OPENLDAP_REL_ENG_2_1_19~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f8ebef075668c6b00803a686184301c447b87102;p=thirdparty%2Fopenldap.git ITS#2496 use SLAP_PTRCMP for pointer comparisons --- diff --git a/servers/slapd/back-bdb/attr.c b/servers/slapd/back-bdb/attr.c index a5bfc4fd57..65a8cc215d 100644 --- a/servers/slapd/back-bdb/attr.c +++ b/servers/slapd/back-bdb/attr.c @@ -29,7 +29,7 @@ ainfo_type_cmp( { const AttributeDescription *desc = v_desc; const AttrInfo *a = v_a; - return desc - a->ai_desc; + return SLAP_PTRCMP(desc, a->ai_desc); } static int @@ -39,7 +39,7 @@ ainfo_cmp( ) { const AttrInfo *a = v_a, *b = v_b; - return a->ai_desc - b->ai_desc; + return SLAP_PTRCMP(a->ai_desc, b->ai_desc); } void diff --git a/servers/slapd/back-ldap/bind.c b/servers/slapd/back-ldap/bind.c index bed8436d1f..b1e8341090 100644 --- a/servers/slapd/back-ldap/bind.c +++ b/servers/slapd/back-ldap/bind.c @@ -122,8 +122,10 @@ ldap_back_bind( } if ( li->savecred ) { - if ( lc->cred.bv_val ) + if ( lc->cred.bv_val ) { + memset( lc->cred.bv_val, 0, lc->cred.bv_len ); ch_free( lc->cred.bv_val ); + } ber_dupbv( &lc->cred, cred ); ldap_set_rebind_proc( lc->ld, ldap_back_rebind, lc ); } @@ -154,7 +156,7 @@ ldap_back_conn_cmp( const struct ldapconn *lc1 = (const struct ldapconn *)c1; const struct ldapconn *lc2 = (const struct ldapconn *)c2; - return ( ( lc1->conn < lc2->conn ) ? -1 : ( ( lc1->conn > lc2-> conn ) ? 1 : 0 ) ); + return SLAP_PTRCMP(lc1->conn, lc2->conn); } /* diff --git a/servers/slapd/back-ldbm/attr.c b/servers/slapd/back-ldbm/attr.c index 15b3055e91..22f15d41f8 100644 --- a/servers/slapd/back-ldbm/attr.c +++ b/servers/slapd/back-ldbm/attr.c @@ -29,7 +29,7 @@ ainfo_type_cmp( { const AttributeDescription *desc = v_desc; const AttrInfo *a = v_a; - return desc - a->ai_desc; + return SLAP_PTRCMP(desc, a->ai_desc); } static int @@ -39,7 +39,7 @@ ainfo_cmp( ) { const AttrInfo *a = v_a, *b = v_b; - return a->ai_desc - b->ai_desc; + return SLAP_PTRCMP(a->ai_desc, b->ai_desc); } void diff --git a/servers/slapd/back-meta/conn.c b/servers/slapd/back-meta/conn.c index 8289819a88..82e02401b8 100644 --- a/servers/slapd/back-meta/conn.c +++ b/servers/slapd/back-meta/conn.c @@ -97,8 +97,7 @@ meta_back_conn_cmp( struct metaconn *lc1 = ( struct metaconn * )c1; struct metaconn *lc2 = ( struct metaconn * )c2; - return ( ( lc1->conn < lc2->conn ) ? -1 : - ( ( lc1->conn > lc2-> conn ) ? 1 : 0 ) ); + return SLAP_PTRCMP( lc1->conn, lc2->conn ); } /* diff --git a/servers/slapd/back-sql/schema-map.c b/servers/slapd/back-sql/schema-map.c index 6244955033..897535bc96 100644 --- a/servers/slapd/back-sql/schema-map.c +++ b/servers/slapd/back-sql/schema-map.c @@ -29,7 +29,7 @@ static int backsql_cmp_oc( const void *v_m1, const void *v_m2 ) { const backsql_oc_map_rec *m1 = v_m1, *m2 = v_m2; - return ( m1->oc < m2->oc ? -1 : ( m1->oc > m2->oc ? 1 : 0 ) ); + return SLAP_PTRCMP( m1->oc, m2->oc ); } static int @@ -46,7 +46,7 @@ static int backsql_cmp_attr( const void *v_m1, const void *v_m2 ) { const backsql_at_map_rec *m1 = v_m1, *m2 = v_m2; - return ( m1->ad < m2->ad ? -1 : ( m1->ad > m2->ad ? 1 : 0 ) ); + return SLAP_PTRCMP( m1->ad, m2->ad ); } static int diff --git a/servers/slapd/entry.c b/servers/slapd/entry.c index efff35b379..fdd5a18444 100644 --- a/servers/slapd/entry.c +++ b/servers/slapd/entry.c @@ -385,7 +385,7 @@ entry_free( Entry *e ) int entry_cmp( Entry *e1, Entry *e2 ) { - return( e1 < e2 ? -1 : (e1 > e2 ? 1 : 0) ); + return SLAP_PTRCMP( e1, e2 ); } int @@ -393,9 +393,8 @@ entry_dn_cmp( const void *v_e1, const void *v_e2 ) { /* compare their normalized UPPERCASED dn's */ const Entry *e1 = v_e1, *e2 = v_e2; - int rc = e1->e_nname.bv_len - e2->e_nname.bv_len; - if (rc) return rc; - return( strcmp( e1->e_ndn, e2->e_ndn ) ); + + return ber_bvcmp( &e1->e_nname, &e2->e_nname ); } int diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 94afcff34b..b9d9667fd2 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -1081,6 +1081,9 @@ LDAP_SLAPD_F (int) value_add_one LDAP_P(( BerVarray *vals, struct berval *addval )); +/* assumes (x) > (y) returns 1 if true, 0 otherwise */ +#define SLAP_PTRCMP(x, y) ((x) < (y) ? -1 : (x) > (y)) + /* * Other... */