]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/suffixalias.c
Modified to use libtool's ltdl instead of gmodule
[openldap] / servers / slapd / suffixalias.c
index d06d21e4f128c54980499af27d84ca85a27fcdc2..1b11005a5daabf69e45e3dc416cf5e3c069058e1 100644 (file)
 #include "portable.h"
 
 #include <stdio.h>
-#include <string.h>
-#include <ac/socket.h>         /* Get struct sockaddr for slap.h */
+#include <ac/string.h>
+#include <ac/socket.h>
 #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;
 }