]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/config.c
fix rewrite iteration
[openldap] / servers / slapd / back-ldap / config.c
index 6d6890919c4395c2d23df53ce0eb7037c3631b29..8f041a117e327b2db716d12c01a5315877f2898b 100644 (file)
@@ -318,6 +318,33 @@ mapping_dup ( void *c1, void *c2 )
        return( ( strcasecmp(map1->src.bv_val, map2->src.bv_val) == 0 ) ? -1 : 0 );
 }
 
+void
+ldap_back_map_init ( struct ldapmap *lm, struct ldapmapping **m )
+{
+       struct ldapmapping *mapping;
+
+       assert( m );
+
+       *m = NULL;
+       
+       mapping = (struct ldapmapping *)ch_calloc( 2, 
+                       sizeof( struct ldapmapping ) );
+       if ( mapping == NULL ) {
+               return;
+       }
+
+       ber_str2bv( "objectclass", sizeof("objectclass")-1, 1, &mapping->src);
+       ber_dupbv( &mapping->dst, &mapping->src );
+       mapping[1].src = mapping->src;
+       mapping[1].dst = mapping->dst;
+
+       avl_insert( &lm->map, (caddr_t)mapping, 
+                       mapping_cmp, mapping_dup );
+       avl_insert( &lm->remap, (caddr_t)&mapping[1], 
+                       mapping_cmp, mapping_dup );
+       *m = mapping;
+}
+
 void
 ldap_back_map ( struct ldapmap *map, struct berval *s, struct berval *bv,
        int remap )