]> git.sur5r.net Git - openldap/commitdiff
Added dn_issuffixbv() like dn_issuffix, but with bervals.
authorHoward Chu <hyc@openldap.org>
Sun, 9 Dec 2001 03:02:29 +0000 (03:02 +0000)
committerHoward Chu <hyc@openldap.org>
Sun, 9 Dec 2001 03:02:29 +0000 (03:02 +0000)
servers/slapd/dn.c
servers/slapd/proto-slap.h

index a8b1eb654bea53485c73fc6aa17f046d0a43b90a..5dc8f50a7f9ada7caa3d1a5f103cd2fecf5f8ffa 100644 (file)
@@ -450,6 +450,18 @@ char **dn_subtree(
 }
 
 
+dn_issuffixbv(
+       const struct berval *dn,
+       const struct berval *suffix
+)
+{
+       if (suffix->bv_len > dn->bv_len)
+               return 0;
+
+       return( strcmp( dn->bv_val + dn->bv_len - suffix->bv_len,
+               suffix->bv_val ) == 0 );
+}
+
 /*
  * dn_issuffix - tells whether suffix is a suffix of dn. Both dn
  * and suffix must be normalized.
index 4f27f33e6bdf70349d3180d59c17655878849c37..7df651706b521cc697b5fe88dbc25bfaf9971944 100644 (file)
@@ -329,6 +329,7 @@ LDAP_SLAPD_F (char **) dn_subtree LDAP_P(( Backend *be, const char *dn ));
 LDAP_SLAPD_F (char *) dn_rdn LDAP_P(( Backend *be, const char *dn ));
 LDAP_SLAPD_F (int) dn_rdnlen LDAP_P(( Backend *be, const char *dn ));
 LDAP_SLAPD_F (int) dn_issuffix LDAP_P(( const char *dn, const char *suffix ));
+LDAP_SLAPD_F (int) dn_issuffixbv LDAP_P(( const struct berval *dn, const struct berval *suffix ));
 LDAP_SLAPD_F (int) rdn_validate LDAP_P(( const char* str ));
 LDAP_SLAPD_F (char *) rdn_attr_value LDAP_P(( const char * rdn ));
 LDAP_SLAPD_F (char *) rdn_attr_type LDAP_P(( const char * rdn ));