]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/str2filter.c
Berkeley DB 4.2 support (DB 4.2 required by default)
[openldap] / servers / slapd / str2filter.c
index 710bd13b10a49e718ed6ad762e7b32009c8f5abf..0fc29bc22a6c732fbcb899536019a44b0dffe309 100644 (file)
@@ -28,8 +28,8 @@ str2filter_x( Operation *op, const char *str )
 {
        int rc;
        Filter  *f = NULL;
-       char berbuf[LBER_ELEMENT_SIZEOF];
-       BerElement *ber = (BerElement *)berbuf;
+       BerElementBuffer berbuf;
+       BerElement *ber = (BerElement *)&berbuf;
        const char *text = NULL;
 
 #ifdef NEW_LOGGING
@@ -44,7 +44,7 @@ str2filter_x( Operation *op, const char *str )
 
        ber_init2( ber, NULL, LBER_USE_DER );
        if ( op->o_tmpmemctx ) {
-               ber_set_option( ber, LBER_OPT_BER_MEMCTX, op->o_tmpmemctx );
+               ber_set_option( ber, LBER_OPT_BER_MEMCTX, &op->o_tmpmemctx );
        }
 
        rc = ldap_pvt_put_filter( ber, str );
@@ -68,8 +68,7 @@ str2filter( const char *str )
        Operation op = {0};
 
        op.o_tmpmemctx = NULL;
-       op.o_tmpalloc = ch_malloc;
-       op.o_tmpfree = ch_free;
+       op.o_tmpmfuncs = &ch_mfuncs;
 
        return str2filter_x( &op, str );
 }