diff src/lib-master/master-login-auth.c @ 14918:8eae4e205c82

Hash table API is now (mostly) type safe.
author Timo Sirainen <tss@iki.fi>
date Sun, 19 Aug 2012 13:55:34 +0300
parents 1ce71b5bc94a
children 96fd2c3bf932
line wrap: on
line diff
--- a/src/lib-master/master-login-auth.c	Sun Aug 19 07:20:13 2012 +0300
+++ b/src/lib-master/master-login-auth.c	Sun Aug 19 13:55:34 2012 +0300
@@ -47,7 +47,7 @@
 	struct timeout *to;
 
 	unsigned int id_counter;
-	struct hash_table *requests;
+	HASH_TABLE(unsigned int, struct master_login_auth_request *) requests;
 	/* linked list of requests, ordered by create_stamp */
 	struct master_login_auth_request *request_head, *request_tail;
 
@@ -71,7 +71,7 @@
 	auth->auth_socket_path = p_strdup(pool, auth_socket_path);
 	auth->refcount = 1;
 	auth->fd = -1;
-	auth->requests = hash_table_create(pool, 0, NULL, NULL);
+	hash_table_create_direct(&auth->requests, pool, 0);
 	auth->id_counter = (rand() % 32767) * 131072U;
 	return auth;
 }
@@ -158,7 +158,7 @@
 		request = auth->request_head;
 		DLLIST2_REMOVE(&auth->request_head,
 			       &auth->request_tail, request);
-		hash_table_remove(auth->requests, POINTER_CAST(request->id));
+		hash_table_remove(auth->requests, request->id);
 
 		reason = t_strdup_printf(
 			"Auth server request timed out after %u secs",
@@ -188,7 +188,7 @@
 
 	update_timeout = request->prev == NULL;
 
-	hash_table_remove(auth->requests, POINTER_CAST(request->id));
+	hash_table_remove(auth->requests, request->id);
 	DLLIST2_REMOVE(&auth->request_head, &auth->request_tail, request);
 
 	if (update_timeout) {
@@ -203,7 +203,7 @@
 {
 	struct master_login_auth_request *request;
 
-	request = hash_table_lookup(auth->requests, POINTER_CAST(id));
+	request = hash_table_lookup(auth->requests, id);
 	if (request == NULL) {
 		i_error("Auth server sent reply with unknown ID %u", id);
 		return NULL;
@@ -476,7 +476,7 @@
 	memcpy(login_req->cookie, req->cookie, sizeof(login_req->cookie));
 	login_req->callback = callback;
 	login_req->context = context;
-	hash_table_insert(auth->requests, POINTER_CAST(id), login_req);
+	hash_table_insert(auth->requests, id, login_req);
 	DLLIST2_APPEND(&auth->request_head, &auth->request_tail, login_req);
 
 	if (auth->to == NULL)