diff src/auth/db-ldap.c @ 1897:1e6ed8045f2b HEAD

Changed hash_foreach() to iterator.
author Timo Sirainen <tss@iki.fi>
date Wed, 03 Dec 2003 02:40:21 +0200
parents 044fdf70f11a
children b9005f93be70
line wrap: on
line diff
--- a/src/auth/db-ldap.c	Mon Dec 01 21:07:34 2003 +0200
+++ b/src/auth/db-ldap.c	Wed Dec 03 02:40:21 2003 +0200
@@ -226,19 +226,19 @@
 	return TRUE;
 }
 
-static void hash_ldap_request_destroy(void *key __attr_unused__,
-				      void *value, void *context)
-{
-	struct ldap_request *request = value;
-	struct ldap_connection *conn = context;
-
-	request->callback(conn, request, NULL);
-	i_free(request);
-}
-
 static void ldap_conn_close(struct ldap_connection *conn)
 {
-	hash_foreach(conn->requests, hash_ldap_request_destroy, conn);
+	struct hash_iterate_context *iter;
+	void *key, *value;
+
+	iter = hash_iterate_init(conn->requests);
+	while (hash_iterate(iter, &key, &value)) {
+		struct ldap_request *request = value;
+
+		request->callback(conn, request, NULL);
+		i_free(request);
+	}
+	hash_iterate_deinit(iter);
 	hash_clear(conn->requests, FALSE);
 
 	conn->connected = FALSE;