]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/ad.c
unifdef -DLDAP_NULL_IS_NULL
[openldap] / servers / slapd / ad.c
index d351c5c49dcf6743d1543754e51b5f99aaa4eac6..7183d5e59fb6f3d5efac1b6e7987d470150f4092 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2005 The OpenLDAP Foundation.
+ * Copyright 1998-2006 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -177,7 +177,7 @@ int slap_bv2ad(
        memset( &desc, 0, sizeof( desc ) );
        desc.ad_cname = *bv;
        name = bv->bv_val;
-       options = strchr( name, ';' );
+       options = ber_bvchr( bv, ';' );
        if ( options != NULL && (unsigned) ( options - name ) < bv->bv_len ) {
                /* don't go past the end of the berval! */
                desc.ad_cname.bv_len = options - name;
@@ -1177,6 +1177,13 @@ ad_define_option( const char *name, const char *fname, int lineno )
        return 0;
 }
 
+void ad_unparse_options( BerVarray *res ){
+       int i;
+    for ( i=0; i < option_count; i++ ) {
+       ber_bvarray_add( res, ber_bvdup( &(options[i].name) ));
+    }
+}
+
 /* Find the definition of the option name or prefix matching the arguments */
 static Attr_option *
 ad_find_option_definition( const char *opt, int optlen )