X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fsuffixalias.c;h=1b11005a5daabf69e45e3dc416cf5e3c069058e1;hb=0743e963cac4aca63ea40e837fb3e7f59cbec04d;hp=d06d21e4f128c54980499af27d84ca85a27fcdc2;hpb=730d2674653d95cf04b0861f38e1725e0587097c;p=openldap diff --git a/servers/slapd/suffixalias.c b/servers/slapd/suffixalias.c index d06d21e4f1..1b11005a5d 100644 --- a/servers/slapd/suffixalias.c +++ b/servers/slapd/suffixalias.c @@ -19,25 +19,30 @@ #include "portable.h" #include -#include -#include /* Get struct sockaddr for slap.h */ +#include +#include #include "slap.h" /* - * given a normalized uppercased dn (or root part), return an aliased dn if any of the - * alias suffixes match + * given a normalized uppercased dn (or root part), + * return an aliased dn if any of the alias suffixes match */ -char *suffixAlias (char *dn, Operation *op, Backend *be) +char *suffix_alias( + Backend *be, + char *dn ) { int i, dnLength; if(dn == NULL) return NULL; + if(be == NULL) return dn; dnLength = strlen ( dn ); - for ( i = 0; - be->be_suffixAlias != NULL && be->be_suffixAlias[i] != NULL; - i += 2) { - int aliasLength = strlen (be->be_suffixAlias[i]); + + for ( i = 0; + be->be_suffixAlias != NULL && be->be_suffixAlias[i] != NULL; + i += 2 ) + { + int aliasLength = strlen (be->be_suffixAlias[i]); int diff = dnLength - aliasLength; if ( diff < 0 ) { @@ -53,15 +58,17 @@ char *suffixAlias (char *dn, Operation *op, Backend *be) } if (!strcmp(be->be_suffixAlias[i], &dn[diff])) { - char *oldDN = dn; + char *oldDN = dn; dn = ch_malloc( diff + strlen(be->be_suffixAlias[i+1]) + 1 ); strncpy( dn, oldDN, diff ); strcpy( &dn[diff], be->be_suffixAlias[i+1] ); - Debug( LDAP_DEBUG_ARGS, "SuffixAlias: converted \"%s\" to \"%s\"\n", + Debug( LDAP_DEBUG_ARGS, + "suffix_alias: converted \"%s\" to \"%s\"\n", oldDN, dn, 0); - free (oldDN); + free (oldDN); break; } } + return dn; }