]> git.sur5r.net Git - openldap/commitdiff
ITS#2004 AD lang bug fix
authorKurt Zeilenga <kurt@openldap.org>
Tue, 20 Aug 2002 19:08:18 +0000 (19:08 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 20 Aug 2002 19:08:18 +0000 (19:08 +0000)
servers/slapd/ad.c

index 3d1335b435d86c45d0073b9794e92502be90c6a8..360da3ca94fe61d7b21ebc8fb53bc16d36517357 100644 (file)
@@ -364,15 +364,18 @@ done:;
 }
 
 static int is_ad_sublang(
-       const char *sublang
-       const char *suplang )
+       struct berval *sublangbv
+       struct berval *suplangbv )
 {
-       const char *supp, *supdelimp;
-       const char *subp, *subdelimp;
+       const char *suplang, *supp, *supdelimp;
+       const char *sublang, *subp, *subdelimp;
        int  suplen, sublen;
 
-       if( suplang == NULL ) return 1;
-       if( sublang == NULL ) return 0;
+       if( suplangbv->bv_len == 0 ) return 1;
+       if( sublangbv->bv_len == 0 ) return 0;
+
+       sublang =sublangbv->bv_val;
+       suplang =suplangbv->bv_val;
 
        for( supp=suplang ; supp; supp=supdelimp ) {
                supdelimp = strchrlen( supp, ';', &suplen );
@@ -413,7 +416,7 @@ int is_ad_subtype(
        }
 
        /* check for language tags */
-       if ( !is_ad_sublang( sub->ad_lang.bv_val, super->ad_lang.bv_val )) {
+       if ( !is_ad_sublang( &sub->ad_lang, &super->ad_lang )) {
                return 0;
        }