diff --git a/dlls/wldap32/rename.c b/dlls/wldap32/rename.c index b978daa8ab2..cba4cdd7b66 100644 --- a/dlls/wldap32/rename.c +++ b/dlls/wldap32/rename.c @@ -18,71 +18,40 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include "config.h" -#include "wine/port.h" - #include -#ifdef HAVE_LDAP_H -#include -#endif - #include "windef.h" #include "winbase.h" #include "winnls.h" -#include "winldap_private.h" -#include "wldap32.h" #include "wine/debug.h" +#include "winldap_private.h" -#ifdef HAVE_LDAP WINE_DEFAULT_DEBUG_CHANNEL(wldap32); -#endif /*********************************************************************** * ldap_rename_extA (WLDAP32.@) * * See ldap_rename_extW. */ -ULONG CDECL ldap_rename_extA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR newrdn, - PCHAR newparent, INT delete, PLDAPControlA *serverctrls, - PLDAPControlA *clientctrls, ULONG *message ) +ULONG CDECL ldap_rename_extA( WLDAP32_LDAP *ld, char *dn, char *newrdn, char *newparent, int delete, + LDAPControlA **serverctrls, LDAPControlA **clientctrls, ULONG *message ) { - ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; -#ifdef HAVE_LDAP + ULONG ret = WLDAP32_LDAP_NO_MEMORY; WCHAR *dnW = NULL, *newrdnW = NULL, *newparentW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; - ret = WLDAP32_LDAP_NO_MEMORY; - - TRACE( "(%p, %s, %s, %s, 0x%02x, %p, %p, %p)\n", ld, debugstr_a(dn), - debugstr_a(newrdn), debugstr_a(newparent), delete, - serverctrls, clientctrls, message ); + TRACE( "(%p, %s, %s, %s, 0x%02x, %p, %p, %p)\n", ld, debugstr_a(dn), debugstr_a(newrdn), debugstr_a(newparent), + delete, serverctrls, clientctrls, message ); if (!ld || !message) return WLDAP32_LDAP_PARAM_ERROR; - if (dn) { - dnW = strAtoW( dn ); - if (!dnW) goto exit; - } - if (newrdn) { - newrdnW = strAtoW( newrdn ); - if (!newrdnW) goto exit; - } - if (newparent) { - newparentW = strAtoW( newparent ); - if (!newparentW) goto exit; - } - if (serverctrls) { - serverctrlsW = controlarrayAtoW( serverctrls ); - if (!serverctrlsW) goto exit; - } - if (clientctrls) { - clientctrlsW = controlarrayAtoW( clientctrls ); - if (!clientctrlsW) goto exit; - } + if (dn && !(dnW = strAtoW( dn ))) goto exit; + if (newrdn && !(newrdnW = strAtoW( newrdn ))) goto exit; + if (newparent && !(newparentW = strAtoW( newparent ))) goto exit; + if (serverctrls && !(serverctrlsW = controlarrayAtoW( serverctrls ))) goto exit; + if (clientctrls && !(clientctrlsW = controlarrayAtoW( clientctrls ))) goto exit; - ret = ldap_rename_extW( ld, dnW, newrdnW, newparentW, delete, - serverctrlsW, clientctrlsW, message ); + ret = ldap_rename_extW( ld, dnW, newrdnW, newparentW, delete, serverctrlsW, clientctrlsW, message ); exit: strfreeW( dnW ); @@ -90,8 +59,6 @@ exit: strfreeW( newparentW ); controlarrayfreeW( serverctrlsW ); controlarrayfreeW( clientctrlsW ); - -#endif return ret; } @@ -119,55 +86,32 @@ exit: * the operation. Cancel the operation by calling ldap_abandon * with the message ID. */ -ULONG CDECL ldap_rename_extW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR newrdn, - PWCHAR newparent, INT delete, PLDAPControlW *serverctrls, - PLDAPControlW *clientctrls, ULONG *message ) +ULONG CDECL ldap_rename_extW( WLDAP32_LDAP *ld, WCHAR *dn, WCHAR *newrdn, WCHAR *newparent, int delete, + LDAPControlW **serverctrls, LDAPControlW **clientctrls, ULONG *message ) { - ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; -#ifdef HAVE_LDAP + ULONG ret = WLDAP32_LDAP_NO_MEMORY; char *dnU = NULL, *newrdnU = NULL, *newparentU = NULL; - LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; + LDAPControlU **serverctrlsU = NULL, **clientctrlsU = NULL; - ret = WLDAP32_LDAP_NO_MEMORY; - - TRACE( "(%p, %s, %s, %s, 0x%02x, %p, %p, %p)\n", ld, debugstr_w(dn), - debugstr_w(newrdn), debugstr_w(newparent), delete, - serverctrls, clientctrls, message ); + TRACE( "(%p, %s, %s, %s, 0x%02x, %p, %p, %p)\n", ld, debugstr_w(dn), debugstr_w(newrdn), debugstr_w(newparent), + delete, serverctrls, clientctrls, message ); if (!ld || !message) return WLDAP32_LDAP_PARAM_ERROR; - if (dn) { - dnU = strWtoU( dn ); - if (!dnU) goto exit; - } - if (newrdn) { - newrdnU = strWtoU( newrdn ); - if (!newrdnU) goto exit; - } - if (newparent) { - newparentU = strWtoU( newparent ); - if (!newparentU) goto exit; - } - if (serverctrls) { - serverctrlsU = controlarrayWtoU( serverctrls ); - if (!serverctrlsU) goto exit; - } - if (clientctrls) { - clientctrlsU = controlarrayWtoU( clientctrls ); - if (!clientctrlsU) goto exit; - } - - ret = map_error( ldap_rename( ld->ld, dn ? dnU : "", newrdn ? newrdnU : "", newparentU, - delete, serverctrlsU, clientctrlsU, (int *)message )); + if (dn && !(dnU = strWtoU( dn ))) goto exit; + if (newrdn && !(newrdnU = strWtoU( newrdn ))) goto exit; + if (newparent && !(newparentU = strWtoU( newparent ))) goto exit; + if (serverctrls && !(serverctrlsU = controlarrayWtoU( serverctrls ))) goto exit; + if (clientctrls && !(clientctrlsU = controlarrayWtoU( clientctrls ))) goto exit; + ret = map_error( ldap_funcs->ldap_rename( ld->ld, dnU, newrdnU, newparentU, delete, serverctrlsU, clientctrlsU, + message ) ); exit: strfreeU( dnU ); strfreeU( newrdnU ); strfreeU( newparentU ); controlarrayfreeU( serverctrlsU ); controlarrayfreeU( clientctrlsU ); - -#endif return ret; } @@ -176,46 +120,25 @@ exit: * * See ldap_rename_ext_sW. */ -ULONG CDECL ldap_rename_ext_sA( WLDAP32_LDAP *ld, PCHAR dn, PCHAR newrdn, - PCHAR newparent, INT delete, PLDAPControlA *serverctrls, - PLDAPControlA *clientctrls ) +ULONG CDECL ldap_rename_ext_sA( WLDAP32_LDAP *ld, char *dn, char *newrdn, char *newparent, int delete, + LDAPControlA **serverctrls, LDAPControlA **clientctrls ) { - ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; -#ifdef HAVE_LDAP + ULONG ret = WLDAP32_LDAP_NO_MEMORY; WCHAR *dnW = NULL, *newrdnW = NULL, *newparentW = NULL; LDAPControlW **serverctrlsW = NULL, **clientctrlsW = NULL; - ret = WLDAP32_LDAP_NO_MEMORY; - - TRACE( "(%p, %s, %s, %s, 0x%02x, %p, %p)\n", ld, debugstr_a(dn), - debugstr_a(newrdn), debugstr_a(newparent), delete, - serverctrls, clientctrls ); + TRACE( "(%p, %s, %s, %s, 0x%02x, %p, %p)\n", ld, debugstr_a(dn), debugstr_a(newrdn), debugstr_a(newparent), + delete, serverctrls, clientctrls ); if (!ld) return WLDAP32_LDAP_PARAM_ERROR; - if (dn) { - dnW = strAtoW( dn ); - if (!dnW) goto exit; - } - if (newrdn) { - newrdnW = strAtoW( newrdn ); - if (!newrdnW) goto exit; - } - if (newparent) { - newparentW = strAtoW( newparent ); - if (!newparentW) goto exit; - } - if (serverctrls) { - serverctrlsW = controlarrayAtoW( serverctrls ); - if (!serverctrlsW) goto exit; - } - if (clientctrls) { - clientctrlsW = controlarrayAtoW( clientctrls ); - if (!clientctrlsW) goto exit; - } + if (dn && !(dnW = strAtoW( dn ))) goto exit; + if (newrdn && !(newrdnW = strAtoW( newrdn ))) goto exit; + if (newparent && !(newparentW = strAtoW( newparent ))) goto exit; + if (serverctrls && !(serverctrlsW = controlarrayAtoW( serverctrls ))) goto exit; + if (clientctrls && !(clientctrlsW = controlarrayAtoW( clientctrls ))) goto exit; - ret = ldap_rename_ext_sW( ld, dnW, newrdnW, newparentW, delete, - serverctrlsW, clientctrlsW ); + ret = ldap_rename_ext_sW( ld, dnW, newrdnW, newparentW, delete, serverctrlsW, clientctrlsW ); exit: strfreeW( dnW ); @@ -223,8 +146,6 @@ exit: strfreeW( newparentW ); controlarrayfreeW( serverctrlsW ); controlarrayfreeW( clientctrlsW ); - -#endif return ret; } /*********************************************************************** @@ -244,55 +165,32 @@ exit: * RETURNS * Success: LDAP_SUCCESS * Failure: An LDAP error code. - */ -ULONG CDECL ldap_rename_ext_sW( WLDAP32_LDAP *ld, PWCHAR dn, PWCHAR newrdn, - PWCHAR newparent, INT delete, PLDAPControlW *serverctrls, - PLDAPControlW *clientctrls ) + */ +ULONG CDECL ldap_rename_ext_sW( WLDAP32_LDAP *ld, WCHAR *dn, WCHAR *newrdn, WCHAR *newparent, int delete, + LDAPControlW **serverctrls, LDAPControlW **clientctrls ) { - ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; -#ifdef HAVE_LDAP + ULONG ret = WLDAP32_LDAP_PARAM_ERROR; char *dnU = NULL, *newrdnU = NULL, *newparentU = NULL; - LDAPControl **serverctrlsU = NULL, **clientctrlsU = NULL; + LDAPControlU **serverctrlsU = NULL, **clientctrlsU = NULL; - ret = WLDAP32_LDAP_NO_MEMORY; - - TRACE( "(%p, %s, %s, %s, 0x%02x, %p, %p)\n", ld, debugstr_w(dn), - debugstr_w(newrdn), debugstr_w(newparent), delete, - serverctrls, clientctrls ); + TRACE( "(%p, %s, %s, %s, 0x%02x, %p, %p)\n", ld, debugstr_w(dn), debugstr_w(newrdn), debugstr_w(newparent), + delete, serverctrls, clientctrls ); if (!ld) return WLDAP32_LDAP_PARAM_ERROR; - if (dn) { - dnU = strWtoU( dn ); - if (!dnU) goto exit; - } - if (newrdn) { - newrdnU = strWtoU( newrdn ); - if (!newrdnU) goto exit; - } - if (newparent) { - newparentU = strWtoU( newparent ); - if (!newparentU) goto exit; - } - if (serverctrls) { - serverctrlsU = controlarrayWtoU( serverctrls ); - if (!serverctrlsU) goto exit; - } - if (clientctrls) { - clientctrlsU = controlarrayWtoU( clientctrls ); - if (!clientctrlsU) goto exit; - } - - ret = map_error( ldap_rename_s( ld->ld, dn ? dnU : "", newrdn ? newrdnU : "", newparentU, - delete, serverctrlsU, clientctrlsU )); + if (dn && !(dnU = strWtoU( dn ))) goto exit; + if (newrdn && !(newrdnU = strWtoU( newrdn ))) goto exit; + if (newparent && !(newparentU = strWtoU( newparent ))) goto exit; + if (serverctrls && !(serverctrlsU = controlarrayWtoU( serverctrls ))) goto exit; + if (clientctrls && !(clientctrlsU = controlarrayWtoU( clientctrls ))) goto exit; + ret = map_error( ldap_funcs->ldap_rename_s( ld->ld, dnU, newrdnU, newparentU, delete, serverctrlsU, + clientctrlsU ) ); exit: strfreeU( dnU ); strfreeU( newrdnU ); strfreeU( newparentU ); controlarrayfreeU( serverctrlsU ); controlarrayfreeU( clientctrlsU ); - -#endif return ret; }