X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Flibldap%2Fufn.c;h=db21748c8db8d0fe6d3441902b648d8f1a32d52f;hb=d2b05a3858822df66785b4a0939204b10ac1c47f;hp=45386a1d62f1ca91954dc53e805be77a153f2a19;hpb=21c70857f1029309d6bc5a5b6a93d7537494b742;p=openldap diff --git a/libraries/libldap/ufn.c b/libraries/libldap/ufn.c index 45386a1d62..db21748c8d 100644 --- a/libraries/libldap/ufn.c +++ b/libraries/libldap/ufn.c @@ -1,5 +1,6 @@ +/* $OpenLDAP$ */ /* - * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved. + * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file */ /* Portions @@ -15,13 +16,12 @@ #include -#include #include #include #include #include "ldap-int.h" -#include "ldapconfig.h" +#include "ldap_defaults.h" typedef int (*cancelptype) LDAP_P(( void *cancelparm )); @@ -184,7 +184,7 @@ ldap_ufn_search_ctx( LDAP *ld, char **ufncomp, int ncomp, char *prefix, if ( err == -1 || err == LDAP_USER_CANCELLED ) { if ( dns != NULL ) { - ldap_value_free( dns ); + LDAP_VFREE( dns ); dns = NULL; } return( err ); @@ -197,7 +197,7 @@ ldap_ufn_search_ctx( LDAP *ld, char **ufncomp, int ncomp, char *prefix, goto tryagain; } else { if ( dns != NULL ) { - ldap_value_free( dns ); + LDAP_VFREE( dns ); dns = NULL; } return( err ); @@ -208,7 +208,7 @@ ldap_ufn_search_ctx( LDAP *ld, char **ufncomp, int ncomp, char *prefix, if ( phase == 1 ) phase++; if ( dns != NULL ) { - ldap_value_free( dns ); + LDAP_VFREE( dns ); dns = NULL; } } @@ -245,7 +245,7 @@ ldap_ufn_search_ct( attrsonly, res, cancelproc, cancelparm, tag1, tag2, tag3 ); if ( ldap_count_entries( ld, *res ) > 0 ) { - ldap_value_free( ufncomp ); + LDAP_VFREE( ufncomp ); return( err ); } else { ldap_msgfree( *res ); @@ -254,21 +254,21 @@ ldap_ufn_search_ct( } if ( ld->ld_ufnprefix == NULL ) { - ldap_value_free( ufncomp ); + LDAP_VFREE( ufncomp ); return( err ); } /* if that failed, or < 2 components, use the prefix */ if ( (prefixcomp = ldap_explode_dn( ld->ld_ufnprefix, 0 )) == NULL ) { - ldap_value_free( ufncomp ); + LDAP_VFREE( ufncomp ); return( ld->ld_errno = LDAP_LOCAL_ERROR ); } for ( pcomp = 0; prefixcomp[pcomp] != NULL; pcomp++ ) ; /* NULL */ if ( (pbuf = (char *) LDAP_MALLOC( strlen( ld->ld_ufnprefix ) + 1 )) == NULL ) { - ldap_value_free( ufncomp ); - ldap_value_free( prefixcomp ); + LDAP_VFREE( ufncomp ); + LDAP_VFREE( prefixcomp ); return( ld->ld_errno = LDAP_NO_MEMORY ); } @@ -292,8 +292,8 @@ ldap_ufn_search_ct( } } - ldap_value_free( ufncomp ); - ldap_value_free( prefixcomp ); + LDAP_VFREE( ufncomp ); + LDAP_VFREE( prefixcomp ); LDAP_FREE( pbuf ); return( err ); @@ -477,7 +477,8 @@ ldap_ufn_setprefix( LDAP *ld, LDAP_CONST char *prefix ) if ( ld->ld_ufnprefix != NULL ) LDAP_FREE( ld->ld_ufnprefix ); - ld->ld_ufnprefix = LDAP_STRDUP( prefix ); + ld->ld_ufnprefix = prefix == NULL + ? NULL : LDAP_STRDUP( prefix ); } int