X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fslapdn.c;h=d3e34fc7842642774d9b7990a30b2be545632442;hb=543c588772b22a029b60e72e45e68032935ecd54;hp=400d5071db5b2bfb6fe81c441654cf749ac4c26d;hpb=dc0eacd40b625258355eea866d62188e5aa7ce3b;p=openldap diff --git a/servers/slapd/slapdn.c b/servers/slapd/slapdn.c index 400d5071db..d3e34fc784 100644 --- a/servers/slapd/slapdn.c +++ b/servers/slapd/slapdn.c @@ -1,6 +1,6 @@ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2005 The OpenLDAP Foundation. + * Copyright 2004-2006 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * @@ -46,12 +46,26 @@ slapdn( int argc, char **argv ) argc -= optind; for ( ; argc--; argv++ ) { - struct berval dn, pdn, ndn; + struct berval dn, + pdn = BER_BVNULL, + ndn = BER_BVNULL; ber_str2bv( argv[ 0 ], 0, 0, &dn ); - rc = dnPrettyNormal( NULL, &dn, - &pdn, &ndn, NULL ); + switch ( dn_mode ) { + case SLAP_TOOL_LDAPDN_PRETTY: + rc = dnPretty( NULL, &dn, &pdn, NULL ); + break; + + case SLAP_TOOL_LDAPDN_NORMAL: + rc = dnNormalize( 0, NULL, NULL, &dn, &ndn, NULL ); + break; + + default: + rc = dnPrettyNormal( NULL, &dn, &pdn, &ndn, NULL ); + break; + } + if ( rc != LDAP_SUCCESS ) { fprintf( stderr, "DN: <%s> check failed %d (%s)\n", dn.bv_val, rc, @@ -62,11 +76,24 @@ slapdn( int argc, char **argv ) } } else { - fprintf( stderr, "DN: <%s> check succeeded\n" - "normalized: <%s>\n" - "pretty: <%s>\n", - dn.bv_val, - ndn.bv_val, pdn.bv_val ); + switch ( dn_mode ) { + case SLAP_TOOL_LDAPDN_PRETTY: + printf( "%s\n", pdn.bv_val ); + break; + + case SLAP_TOOL_LDAPDN_NORMAL: + printf( "%s\n", ndn.bv_val ); + break; + + default: + printf( "DN: <%s> check succeeded\n" + "normalized: <%s>\n" + "pretty: <%s>\n", + dn.bv_val, + ndn.bv_val, pdn.bv_val ); + break; + } + ch_free( ndn.bv_val ); ch_free( pdn.bv_val ); }