From 4813e6fc0429fbfffc4dc751cc8e9688e8d3291a Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Tue, 4 Jan 2011 18:46:00 +0000
Subject: [PATCH] Use ldap_parse_whoami

---
 clients/tools/ldapwhoami.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/clients/tools/ldapwhoami.c b/clients/tools/ldapwhoami.c
index ea312c61b2..93beeb2210 100644
--- a/clients/tools/ldapwhoami.c
+++ b/clients/tools/ldapwhoami.c
@@ -111,8 +111,7 @@ main( int argc, char *argv[] )
 	int		rc;
 	LDAP		*ld = NULL;
 	char		*matcheddn = NULL, *text = NULL, **refs = NULL;
-	char		*retoid = NULL;
-	struct berval	*retdata = NULL;
+	struct berval	*authzid = NULL;
 	int		id, code = 0;
 	LDAPMessage	*res;
 	LDAPControl	**ctrls = NULL;
@@ -182,19 +181,20 @@ main( int argc, char *argv[] )
 		goto skip;
 	}
 
-	rc = ldap_parse_extended_result( ld, res, &retoid, &retdata, 1 );
+	rc = ldap_parse_whoami( ld, res, &authzid );
+	ldap_msgfree(res);
 
 	if( rc != LDAP_SUCCESS ) {
-		tool_perror( "ldap_parse_extended_result", rc, NULL, NULL, NULL, NULL );
+		tool_perror( "ldap_parse_whoami", rc, NULL, NULL, NULL, NULL );
 		rc = EXIT_FAILURE;
 		goto skip;
 	}
 
-	if( retdata != NULL ) {
-		if( retdata->bv_len == 0 ) {
+	if( authzid != NULL ) {
+		if( authzid->bv_len == 0 ) {
 			printf(_("anonymous\n") );
 		} else {
-			printf("%s\n", retdata->bv_val );
+			printf("%s\n", authzid->bv_val );
 		}
 	}
 
@@ -228,8 +228,7 @@ skip:
 	ber_memfree( text );
 	ber_memfree( matcheddn );
 	ber_memvfree( (void **) refs );
-	ber_memfree( retoid );
-	ber_bvfree( retdata );
+	ber_bvfree( authzid );
 
 	/* disconnect from server */
 	tool_unbind( ld );
-- 
GitLab