[PATCH] clean type argument from dlinklist

Michael Adam obnox at samba.org
Fri Feb 5 11:12:42 UTC 2016


I just stumbled across the fact that the
type argument was left unused for a few functions
in a change back in 2010, to avoid a bigger diff
and allow fo easier roll-back in case of problems.
Now 6 years later I think we can say the change
did not introduce a lot of problems, and remove
the type arg...

Review appreciated.

Thanks - Michael
-------------- next part --------------
From 134932ae6d52285de18464a7ebe6a554f3c465ab Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 11:32:18 +0100
Subject: [PATCH 01/12] dlist: remove unneeded type argument from
 DLIST_ADD_END()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 ctdb/common/ctdb_io.c                              |  2 +-
 ctdb/server/ctdb_call.c                            |  4 ++--
 ctdb/server/ctdb_daemon.c                          |  2 +-
 ctdb/server/ctdb_lock.c                            |  8 ++++----
 ctdb/server/ctdb_logging.c                         |  2 +-
 lib/torture/torture.c                              | 14 +++++++-------
 lib/util/dlinklist.h                               |  5 ++---
 lib/util/tests/dlinklist.c                         |  4 ++--
 libcli/cldap/cldap.c                               |  2 +-
 libcli/nbt/nbtsocket.c                             |  7 +++----
 libcli/smb/smbXcli_base.c                          |  6 +++---
 source3/auth/auth.c                                |  2 +-
 source3/auth/pampass.c                             |  2 +-
 source3/lib/smbldap.c                              |  2 +-
 source3/lib/unix_msg/unix_msg.c                    |  2 +-
 source3/lib/util_ea.c                              |  2 +-
 source3/libsmb/clidfs.c                            |  2 +-
 source3/libsmb/clireadwrite.c                      |  4 ++--
 source3/modules/vfs_aio_pthread.c                  |  2 +-
 source3/nmbd/nmbd_browserdb.c                      |  2 +-
 source3/nmbd/nmbd_packets.c                        |  2 +-
 source3/nmbd/nmbd_responserecordsdb.c              |  2 +-
 source3/nmbd/nmbd_serverlistdb.c                   |  2 +-
 source3/param/loadparm.c                           |  2 +-
 source3/printing/notify.c                          |  2 +-
 source3/registry/regfio.c                          |  2 +-
 source3/rpc_server/fss/srv_fss_agent.c             |  9 ++++-----
 source3/rpc_server/fss/srv_fss_state.c             | 12 ++++++------
 source3/smbd/blocking.c                            |  2 +-
 source3/smbd/notify.c                              |  3 +--
 source3/smbd/posix_acls.c                          |  4 ++--
 source3/smbd/process.c                             |  5 ++---
 source3/smbd/server.c                              |  2 +-
 source3/smbd/smb2_server.c                         | 10 +++++-----
 source3/smbd/smbXsrv_session.c                     |  2 +-
 source3/smbd/trans2.c                              |  6 +++---
 source3/winbindd/winbindd_util.c                   |  2 +-
 source4/auth/ntlm/auth.c                           |  2 +-
 source4/dns_server/dnsserver_common.c              |  2 +-
 source4/dsdb/common/util_trusts.c                  |  2 +-
 source4/dsdb/kcc/kcc_drs_replica_info.c            |  2 +-
 source4/dsdb/repl/drepl_notify.c                   |  2 +-
 source4/dsdb/repl/drepl_out_pull.c                 |  2 +-
 source4/dsdb/repl/drepl_partitions.c               |  4 ++--
 source4/dsdb/repl/replicated_objects.c             |  2 +-
 source4/dsdb/samdb/ldb_modules/descriptor.c        |  4 ++--
 source4/dsdb/samdb/ldb_modules/linked_attributes.c |  2 +-
 source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c  |  2 +-
 source4/dsdb/samdb/ldb_modules/update_keytab.c     |  2 +-
 source4/dsdb/schema/schema_query.c                 |  8 ++++----
 source4/ldap_server/ldap_backend.c                 |  2 +-
 source4/lib/http/http.c                            |  2 +-
 source4/lib/socket/interface.c                     |  2 +-
 source4/lib/stream/packet.c                        |  2 +-
 source4/libcli/dgram/dgramsocket.c                 |  2 +-
 source4/libcli/resolve/resolve.c                   |  2 +-
 source4/librpc/rpc/dcerpc.c                        |  6 +++---
 source4/nbt_server/register.c                      |  2 +-
 source4/nbt_server/wins/winsserver.c               |  2 +-
 source4/ntvfs/ntvfs_base.c                         |  2 +-
 source4/ntvfs/posix/pvfs_notify.c                  |  2 +-
 source4/rpc_server/common/reply.c                  | 10 +++++-----
 source4/rpc_server/dcerpc_server.c                 | 14 +++++++-------
 source4/rpc_server/dnsserver/dcerpc_dnsserver.c    |  6 +++---
 source4/rpc_server/dnsserver/dnsdb.c               |  6 +++---
 source4/smb_server/smb2/receive.c                  |  2 +-
 source4/smb_server/smb_server.h                    |  2 +-
 source4/smbd/service.c                             |  2 +-
 source4/torture/local/fsrvp_state.c                | 20 ++++++++++----------
 source4/torture/nbench/nbio.c                      |  4 ++--
 source4/torture/nbt/wins.c                         |  3 +--
 source4/torture/ndr/ndr.c                          |  4 ++--
 source4/torture/rpc/spoolss_notify.c               |  2 +-
 source4/torture/smb2/smb2.c                        |  4 ++--
 source4/torture/util_smb.c                         |  6 +++---
 source4/torture/vfs/vfs.c                          |  2 +-
 source4/wrepl_server/wrepl_server.c                |  4 ++--
 77 files changed, 146 insertions(+), 152 deletions(-)

diff --git a/ctdb/common/ctdb_io.c b/ctdb/common/ctdb_io.c
index 24968b3..894935e 100644
--- a/ctdb/common/ctdb_io.c
+++ b/ctdb/common/ctdb_io.c
@@ -352,7 +352,7 @@ int ctdb_queue_send(struct ctdb_queue *queue, uint8_t *data, uint32_t length)
 		TEVENT_FD_WRITEABLE(queue->fde);
 	}
 
-	DLIST_ADD_END(queue->out_queue, pkt, NULL);
+	DLIST_ADD_END(queue->out_queue, pkt);
 
 	queue->out_queue_length++;
 
diff --git a/ctdb/server/ctdb_call.c b/ctdb/server/ctdb_call.c
index db9fb6a..453b456 100644
--- a/ctdb/server/ctdb_call.c
+++ b/ctdb/server/ctdb_call.c
@@ -565,7 +565,7 @@ static int dmaster_defer_add(struct ctdb_db_context *ctdb_db,
 	call->ctdb = ctdb_db->ctdb;
 	call->hdr = talloc_steal(call, hdr);
 
-	DLIST_ADD_END(ddq->deferred_calls, call, NULL);
+	DLIST_ADD_END(ddq->deferred_calls, call);
 
 	return 0;
 }
@@ -1911,7 +1911,7 @@ child_finished:
 	set_close_on_exec(rc->fd[0]);
 
 	/* This is an active revokechild child process */
-	DLIST_ADD_END(ctdb_db->revokechild_active, rc, NULL);
+	DLIST_ADD_END(ctdb_db->revokechild_active, rc);
 
 	rc->fde = tevent_add_fd(ctdb->ev, rc, rc->fd[0], TEVENT_FD_READ,
 				revokechild_handler, (void *)rc);
diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c
index 36dcfad..9a33691 100644
--- a/ctdb/server/ctdb_daemon.c
+++ b/ctdb/server/ctdb_daemon.c
@@ -590,7 +590,7 @@ static int requeue_duplicate_fetch(struct ctdb_db_context *ctdb_db, struct ctdb_
 	dfc->w->ctdb = ctdb_db->ctdb;
 	dfc->w->client_id = client->client_id;
 
-	DLIST_ADD_END(dfq->deferred_calls, dfc, NULL);
+	DLIST_ADD_END(dfq->deferred_calls, dfc);
 
 	return 0;
 }
diff --git a/ctdb/server/ctdb_lock.c b/ctdb/server/ctdb_lock.c
index 78ba35c..7962e94 100644
--- a/ctdb/server/ctdb_lock.c
+++ b/ctdb/server/ctdb_lock.c
@@ -902,10 +902,10 @@ static void ctdb_lock_schedule(struct ctdb_context *ctdb)
 	/* Move the context from pending to current */
 	if (lock_ctx->type == LOCK_RECORD) {
 		DLIST_REMOVE(lock_ctx->ctdb_db->lock_pending, lock_ctx);
-		DLIST_ADD_END(lock_ctx->ctdb_db->lock_current, lock_ctx, NULL);
+		DLIST_ADD_END(lock_ctx->ctdb_db->lock_current, lock_ctx);
 	} else {
 		DLIST_REMOVE(ctdb->lock_pending, lock_ctx);
-		DLIST_ADD_END(ctdb->lock_current, lock_ctx, NULL);
+		DLIST_ADD_END(ctdb->lock_current, lock_ctx);
 	}
 	CTDB_DECREMENT_STAT(lock_ctx->ctdb, locks.num_pending);
 	CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.num_current);
@@ -975,9 +975,9 @@ static struct lock_request *ctdb_lock_internal(TALLOC_CTX *mem_ctx,
 	 * immediately, so keep them at the head of the pending queue.
 	 */
 	if (lock_ctx->type == LOCK_RECORD) {
-		DLIST_ADD_END(ctdb_db->lock_pending, lock_ctx, NULL);
+		DLIST_ADD_END(ctdb_db->lock_pending, lock_ctx);
 	} else {
-		DLIST_ADD_END(ctdb->lock_pending, lock_ctx, NULL);
+		DLIST_ADD_END(ctdb->lock_pending, lock_ctx);
 	}
 	CTDB_INCREMENT_STAT(ctdb, locks.num_pending);
 	if (ctdb_db) {
diff --git a/ctdb/server/ctdb_logging.c b/ctdb/server/ctdb_logging.c
index 29b1982..1819ab7 100644
--- a/ctdb/server/ctdb_logging.c
+++ b/ctdb/server/ctdb_logging.c
@@ -71,7 +71,7 @@ void ctdb_log_register_backend(const char *prefix, ctdb_log_setup_fn_t setup)
 	b->prefix = prefix;
 	b->setup = setup;
 
-	DLIST_ADD_END(log_state->backends, b, NULL);
+	DLIST_ADD_END(log_state->backends, b);
 }
 
 
diff --git a/lib/torture/torture.c b/lib/torture/torture.c
index 78d8261..40807d9 100644
--- a/lib/torture/torture.c
+++ b/lib/torture/torture.c
@@ -277,7 +277,7 @@ struct torture_test *torture_tcase_add_test_const(struct torture_tcase *tcase,
 	test->dangerous = false;
 	test->data = data;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
@@ -296,7 +296,7 @@ bool torture_suite_init_tcase(struct torture_suite *suite,
 	tcase->fixture_persistent = true;
 	tcase->tests = NULL;
 
-	DLIST_ADD_END(suite->testcases, tcase, struct torture_tcase *);
+	DLIST_ADD_END(suite->testcases, tcase);
 
 	return true;
 }
@@ -617,7 +617,7 @@ struct torture_tcase *torture_suite_add_simple_tcase_const(
 	test->data = data;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return tcase;
 }
@@ -651,7 +651,7 @@ struct torture_tcase *torture_suite_add_simple_test(
 	test->fn = run;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return tcase;
 }
@@ -665,7 +665,7 @@ bool torture_suite_add_suite(struct torture_suite *suite,
 	if (child == NULL)
 		return false;
 
-	DLIST_ADD_END(suite->children, child, struct torture_suite *);
+	DLIST_ADD_END(suite->children, child);
 
 	/* FIXME: Check for duplicates and return false if the 
 	 * added suite already exists as a child */
@@ -716,7 +716,7 @@ struct torture_test *torture_tcase_add_simple_test_const(
 	test->data = NULL;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
@@ -747,7 +747,7 @@ struct torture_test *torture_tcase_add_simple_test(struct torture_tcase *tcase,
 	test->data = NULL;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h
index 5520901..316ba10 100644
--- a/lib/util/dlinklist.h
+++ b/lib/util/dlinklist.h
@@ -131,9 +131,8 @@ do { \
 
 /*
    add to the end of a list.
-   Note that 'type' is ignored
 */
-#define DLIST_ADD_END(list, p, type)			\
+#define DLIST_ADD_END(list, p) \
 do { \
 	if (!(list)) { \
 		DLIST_ADD(list, p); \
@@ -156,7 +155,7 @@ do { \
 #define DLIST_DEMOTE(list, p, type)			\
 do { \
 	DLIST_REMOVE(list, p); \
-	DLIST_ADD_END(list, p, NULL);		\
+	DLIST_ADD_END(list, p); \
 } while (0)
 
 /*
diff --git a/lib/util/tests/dlinklist.c b/lib/util/tests/dlinklist.c
index bef61d2..462f4a7 100644
--- a/lib/util/tests/dlinklist.c
+++ b/lib/util/tests/dlinklist.c
@@ -43,7 +43,7 @@ static bool torture_local_dlinklist_simple(struct torture_context *tctx)
 	torture_comment(tctx, "add 5 elements at end\n");
 	for (i=0; i<5; i++) {
 		el = talloc(mem_ctx, struct listel);
-		DLIST_ADD_END(l1, el, NULL);
+		DLIST_ADD_END(l1, el);
 	}
 
 	torture_comment(tctx, "delete 3 from front\n");
@@ -57,7 +57,7 @@ static bool torture_local_dlinklist_simple(struct torture_context *tctx)
 	for (i=0; i < 3; i++) {
 		el = DLIST_TAIL(l1);
 		DLIST_REMOVE(l1, el);
-		DLIST_ADD_END(l2, el, NULL);
+		DLIST_ADD_END(l2, el);
 	}
 
 	torture_comment(tctx, "count forward\n");
diff --git a/libcli/cldap/cldap.c b/libcli/cldap/cldap.c
index dd9d40b..c5977cc 100644
--- a/libcli/cldap/cldap.c
+++ b/libcli/cldap/cldap.c
@@ -675,7 +675,7 @@ struct tevent_req *cldap_search_send(TALLOC_CTX *mem_ctx,
 	}
 	tevent_req_set_callback(subreq, cldap_search_state_queue_done, req);
 
-	DLIST_ADD_END(cldap->searches.list, state, struct cldap_search_state *);
+	DLIST_ADD_END(cldap->searches.list, state);
 
 	return req;
 
diff --git a/libcli/nbt/nbtsocket.c b/libcli/nbt/nbtsocket.c
index 6c62739..dacacae 100644
--- a/libcli/nbt/nbtsocket.c
+++ b/libcli/nbt/nbtsocket.c
@@ -127,8 +127,7 @@ static void nbt_name_socket_timeout(struct tevent_context *ev, struct tevent_tim
 					   nbt_name_socket_timeout, req);
 		if (req->state != NBT_REQUEST_SEND) {
 			req->state = NBT_REQUEST_SEND;
-			DLIST_ADD_END(req->nbtsock->send_queue, req,
-				      struct nbt_name_request *);
+			DLIST_ADD_END(req->nbtsock->send_queue, req);
 		}
 		TEVENT_FD_WRITEABLE(req->nbtsock->fde);
 		return;
@@ -418,7 +417,7 @@ struct nbt_name_request *nbt_name_request_send(struct nbt_name_socket *nbtsock,
 				       (ndr_push_flags_fn_t)ndr_push_nbt_name_packet);
 	if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) goto failed;
 
-	DLIST_ADD_END(nbtsock->send_queue, req, struct nbt_name_request *);
+	DLIST_ADD_END(nbtsock->send_queue, req);
 
 	if (DEBUGLVL(10)) {
 		DEBUG(10,("Queueing nbt packet to %s:%d\n",
@@ -469,7 +468,7 @@ _PUBLIC_ NTSTATUS nbt_name_reply_send(struct nbt_name_socket *nbtsock,
 		return ndr_map_error2ntstatus(ndr_err);
 	}
 
-	DLIST_ADD_END(nbtsock->send_queue, req, struct nbt_name_request *);
+	DLIST_ADD_END(nbtsock->send_queue, req);
 
 	TEVENT_FD_WRITEABLE(nbtsock->fde);
 
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index 5fc380e..ad6a254 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -5264,7 +5264,7 @@ struct smbXcli_session *smbXcli_session_create(TALLOC_CTX *mem_ctx,
 	}
 	talloc_set_destructor(session, smbXcli_session_destructor);
 
-	DLIST_ADD_END(conn->sessions, session, struct smbXcli_session *);
+	DLIST_ADD_END(conn->sessions, session);
 	session->conn = conn;
 
 	memcpy(session->smb2_channel.preauth_sha512,
@@ -5294,7 +5294,7 @@ struct smbXcli_session *smbXcli_session_copy(TALLOC_CTX *mem_ctx,
 	session->smb2_channel = src->smb2_channel;
 	session->disconnect_expired = src->disconnect_expired;
 
-	DLIST_ADD_END(src->conn->sessions, session, struct smbXcli_session *);
+	DLIST_ADD_END(src->conn->sessions, session);
 	talloc_set_destructor(session, smbXcli_session_destructor);
 
 	return session;
@@ -5793,7 +5793,7 @@ NTSTATUS smb2cli_session_create_channel(TALLOC_CTX *mem_ctx,
 	}
 
 	talloc_set_destructor(session2, smbXcli_session_destructor);
-	DLIST_ADD_END(conn->sessions, session2, struct smbXcli_session *);
+	DLIST_ADD_END(conn->sessions, session2);
 	session2->conn = conn;
 
 	memcpy(session2->smb2_channel.preauth_sha512,
diff --git a/source3/auth/auth.c b/source3/auth/auth.c
index 00261f7..833eae9 100644
--- a/source3/auth/auth.c
+++ b/source3/auth/auth.c
@@ -436,7 +436,7 @@ static NTSTATUS make_auth_context_text_list(TALLOC_CTX *mem_ctx,
 
 	for (;*text_list; text_list++) { 
 		if (load_auth_module(*auth_context, *text_list, &t)) {
-		    DLIST_ADD_END(list, t, auth_methods *);
+		    DLIST_ADD_END(list, t);
 		}
 	}
 
diff --git a/source3/auth/pampass.c b/source3/auth/pampass.c
index 2a3195c..1a82fe7 100644
--- a/source3/auth/pampass.c
+++ b/source3/auth/pampass.c
@@ -237,7 +237,7 @@ static struct chat_struct *make_pw_chat(const char *p)
 
 		ZERO_STRUCTP(t);
 
-		DLIST_ADD_END(list, t, struct chat_struct*);
+		DLIST_ADD_END(list, t);
 
 		if (!next_token_talloc(frame, &p, &prompt, NULL)) {
 			break;
diff --git a/source3/lib/smbldap.c b/source3/lib/smbldap.c
index 1560f65..5a876e0 100644
--- a/source3/lib/smbldap.c
+++ b/source3/lib/smbldap.c
@@ -545,7 +545,7 @@ static void smbldap_store_state(LDAP *ld, struct smbldap_state *smbldap_state)
 	t = SMB_XMALLOC_P(struct smbldap_state_lookup);
 	ZERO_STRUCTP(t);
 
-	DLIST_ADD_END(smbldap_state_lookup_list, t, struct smbldap_state_lookup *);
+	DLIST_ADD_END(smbldap_state_lookup_list, t);
 	t->ld = ld;
 	t->smbldap_state = smbldap_state;
 }
diff --git a/source3/lib/unix_msg/unix_msg.c b/source3/lib/unix_msg/unix_msg.c
index cb648ed..bcfef28 100644
--- a/source3/lib/unix_msg/unix_msg.c
+++ b/source3/lib/unix_msg/unix_msg.c
@@ -495,7 +495,7 @@ static int queue_msg(struct unix_dgram_send_queue *q,
 	msghdr_copy(hdr, msghdrlen, NULL, 0, iov, iovcnt,
 		    fds_copy, num_fds);
 
-	DLIST_ADD_END(q->msgs, msg, struct unix_dgram_msg);
+	DLIST_ADD_END(q->msgs, msg);
 	return 0;
 fail:
 	close_fd_array(fds_copy, num_fds);
diff --git a/source3/lib/util_ea.c b/source3/lib/util_ea.c
index e980e69..136291b 100644
--- a/source3/lib/util_ea.c
+++ b/source3/lib/util_ea.c
@@ -103,7 +103,7 @@ struct ea_list *read_nttrans_ea_list(TALLOC_CTX *ctx, const char *pdata, size_t
 			return NULL;
 		}
 
-		DLIST_ADD_END(ea_list_head, eal, struct ea_list *);
+		DLIST_ADD_END(ea_list_head, eal);
 		if (next_offset == 0) {
 			break;
 		}
diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c
index d3b0580..d2a4c19 100644
--- a/source3/libsmb/clidfs.c
+++ b/source3/libsmb/clidfs.c
@@ -329,7 +329,7 @@ static NTSTATUS cli_cm_connect(TALLOC_CTX *ctx,
 
 	/* Enter into the list. */
 	if (referring_cli) {
-		DLIST_ADD_END(referring_cli, cli, struct cli_state *);
+		DLIST_ADD_END(referring_cli, cli);
 	}
 
 	if (referring_cli && referring_cli->requested_posix_capabilities) {
diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c
index 79bf416..3514154 100644
--- a/source3/libsmb/clireadwrite.c
+++ b/source3/libsmb/clireadwrite.c
@@ -437,7 +437,7 @@ static void cli_pull_setup_chunks(struct tevent_req *req)
 		state->next_offset += chunk->total_size;
 		state->remaining -= chunk->total_size;
 
-		DLIST_ADD_END(state->chunks, chunk, NULL);
+		DLIST_ADD_END(state->chunks, chunk);
 		state->num_chunks++;
 		state->num_waiting++;
 
@@ -1250,7 +1250,7 @@ static void cli_push_setup_chunks(struct tevent_req *req)
 		}
 		state->next_offset += chunk->total_size;
 
-		DLIST_ADD_END(state->chunks, chunk, NULL);
+		DLIST_ADD_END(state->chunks, chunk);
 		state->num_chunks++;
 		state->num_waiting++;
 
diff --git a/source3/modules/vfs_aio_pthread.c b/source3/modules/vfs_aio_pthread.c
index 10a3a23..7037b63 100644
--- a/source3/modules/vfs_aio_pthread.c
+++ b/source3/modules/vfs_aio_pthread.c
@@ -341,7 +341,7 @@ static struct aio_open_private_data *create_private_open_data(const files_struct
 	}
 
 	talloc_set_destructor(opd, opd_destructor);
-	DLIST_ADD_END(open_pd_list, opd, struct aio_open_private_data *);
+	DLIST_ADD_END(open_pd_list, opd);
 	return opd;
 }
 
diff --git a/source3/nmbd/nmbd_browserdb.c b/source3/nmbd/nmbd_browserdb.c
index b36f5c7..b883f56 100644
--- a/source3/nmbd/nmbd_browserdb.c
+++ b/source3/nmbd/nmbd_browserdb.c
@@ -120,7 +120,7 @@ struct browse_cache_record *create_browser_in_lmb_cache( const char *work_name,
   
 	browc->ip = ip;
  
-	DLIST_ADD_END(lmb_browserlist, browc, struct browse_cache_record *);
+	DLIST_ADD_END(lmb_browserlist, browc);
 
 	DEBUG(3, ("nmbd_browserdb:create_browser_in_lmb_cache()\n"));
 	DEBUGADD(3, ("  Added lmb cache entry for workgroup %s name %s IP %s "
diff --git a/source3/nmbd/nmbd_packets.c b/source3/nmbd/nmbd_packets.c
index 9f5cc18..b608354 100644
--- a/source3/nmbd/nmbd_packets.c
+++ b/source3/nmbd/nmbd_packets.c
@@ -1033,7 +1033,7 @@ void reply_netbios_packet(struct packet_struct *orig_packet,
 
 void queue_packet(struct packet_struct *packet)
 {
-	DLIST_ADD_END(packet_queue, packet, struct packet_struct *);
+	DLIST_ADD_END(packet_queue, packet);
 }
 
 /****************************************************************************
diff --git a/source3/nmbd/nmbd_responserecordsdb.c b/source3/nmbd/nmbd_responserecordsdb.c
index bd18850..4753bbf 100644
--- a/source3/nmbd/nmbd_responserecordsdb.c
+++ b/source3/nmbd/nmbd_responserecordsdb.c
@@ -37,7 +37,7 @@ static void add_response_record(struct subnet_record *subrec,
 	DEBUG(4,("add_response_record: adding response record id:%hu to subnet %s. num_records:%d\n",
 		rrec->response_id, subrec->subnet_name, num_response_packets));
 
-	DLIST_ADD_END(subrec->responselist, rrec, struct response_record *);
+	DLIST_ADD_END(subrec->responselist, rrec);
 }
 
 /***************************************************************************
diff --git a/source3/nmbd/nmbd_serverlistdb.c b/source3/nmbd/nmbd_serverlistdb.c
index cd84bdf..43471d6 100644
--- a/source3/nmbd/nmbd_serverlistdb.c
+++ b/source3/nmbd/nmbd_serverlistdb.c
@@ -54,7 +54,7 @@ void remove_all_servers(struct work_record *work)
 static void add_server_to_workgroup(struct work_record *work,
                              struct server_record *servrec)
 {
-	DLIST_ADD_END(work->serverlist, servrec, struct server_record *);
+	DLIST_ADD_END(work->serverlist, servrec);
 	work->subnet->work_changed = True;
 }
 
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 31d9e2d..5944fad 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -463,7 +463,7 @@ bool store_lp_set_cmdline(const char *pszParmName, const char *pszParmValue)
 		return false;
 	}
 
-	DLIST_ADD_END(stored_options, entry, struct lp_stored_option);
+	DLIST_ADD_END(stored_options, entry);
 
 	return true;
 }
diff --git a/source3/printing/notify.c b/source3/printing/notify.c
index 930e72b..d2c5f72 100644
--- a/source3/printing/notify.c
+++ b/source3/printing/notify.c
@@ -331,7 +331,7 @@ to notify_queue_head\n", msg->type, msg->field, msg->printer));
 	 * the messages are sent in the order they were received. JRA.
 	 */
 
-	DLIST_ADD_END(notify_queue_head, pnqueue, struct notify_queue *);
+	DLIST_ADD_END(notify_queue_head, pnqueue);
 	num_messages++;
 
 	if ((notify_event == NULL) && (ev != NULL)) {
diff --git a/source3/registry/regfio.c b/source3/registry/regfio.c
index c895bc4..9bb89ff 100644
--- a/source3/registry/regfio.c
+++ b/source3/registry/regfio.c
@@ -1852,7 +1852,7 @@ static int hashrec_cmp( REGF_HASH_REC *h1, REGF_HASH_REC *h2 )
 			nk->sec_desc->size      = ndr_size_security_descriptor(sec_desc, 0)
 				+ sizeof(uint32_t);
 
-			DLIST_ADD_END( file->sec_desc_list, nk->sec_desc, REGF_SK_REC *);
+			DLIST_ADD_END( file->sec_desc_list, nk->sec_desc);
 
 			/* update the offsets for us and the previous sd in the list.
 			   if this is the first record, then just set the next and prev
diff --git a/source3/rpc_server/fss/srv_fss_agent.c b/source3/rpc_server/fss/srv_fss_agent.c
index 19578cc..68a5143 100644
--- a/source3/rpc_server/fss/srv_fss_agent.c
+++ b/source3/rpc_server/fss/srv_fss_agent.c
@@ -247,8 +247,7 @@ static NTSTATUS fss_prune_stale(struct messaging_context *msg_ctx,
 			while (sc_smap != NULL) {
 				struct fss_sc_smap *smap_next = sc_smap->next;
 				DLIST_REMOVE(sc->smaps, sc_smap);
-				DLIST_ADD_END(prunable_sc_smaps, sc_smap,
-					      struct fss_sc_smap *);
+				DLIST_ADD_END(prunable_sc_smaps, sc_smap);
 				sc->smaps_count--;
 				sc_smap = smap_next;
 			}
@@ -668,7 +667,7 @@ uint32_t _fss_StartShadowCopySet(struct pipes_struct *p,
 	}
 	sc_set->state = FSS_SC_STARTED;
 	sc_set->context = fss_global.cur_ctx;
-	DLIST_ADD_END(fss_global.sc_sets, sc_set, struct fss_sc_set *);
+	DLIST_ADD_END(fss_global.sc_sets, sc_set);
 	fss_global.sc_sets_count++;
 	DEBUG(6, ("%s: shadow-copy set %u added\n",
 		  sc_set->id_str, fss_global.sc_sets_count));
@@ -864,10 +863,10 @@ uint32_t _fss_AddToShadowCopySet(struct pipes_struct *p,
 	}
 
 	/* add share map to shadow-copy */
-	DLIST_ADD_END(sc->smaps, sc_smap, struct fss_sc_smap *);
+	DLIST_ADD_END(sc->smaps, sc_smap);
 	sc->smaps_count++;
 	/* add shadow-copy to shadow-copy set */
-	DLIST_ADD_END(sc_set->scs, sc, struct fss_sc *);
+	DLIST_ADD_END(sc_set->scs, sc);
 	sc_set->scs_count++;
 	DEBUG(4, ("added volume %s to shadow copy set with GUID %s\n",
 		  sc->volume_name, sc_set->id_str));
diff --git a/source3/rpc_server/fss/srv_fss_state.c b/source3/rpc_server/fss/srv_fss_state.c
index 97604f3..0f2ef0e 100644
--- a/source3/rpc_server/fss/srv_fss_state.c
+++ b/source3/rpc_server/fss/srv_fss_state.c
@@ -437,7 +437,7 @@ static int fss_state_retrieve_traverse(struct db_record *rec,
 		if (!NT_STATUS_IS_OK(status)) {
 			return -1;
 		}
-		DLIST_ADD_END(trv_state->smaps, smap, struct fss_sc_smap *);
+		DLIST_ADD_END(trv_state->smaps, smap);
 		trv_state->smaps_count++;
 	} else if (strstr((char *)key.dptr, FSS_DB_KEY_PFX_SC) != NULL) {
 		struct fss_sc *sc;
@@ -446,7 +446,7 @@ static int fss_state_retrieve_traverse(struct db_record *rec,
 		if (!NT_STATUS_IS_OK(status)) {
 			return -1;
 		}
-		DLIST_ADD_END(trv_state->scs, sc, struct fss_sc *);
+		DLIST_ADD_END(trv_state->scs, sc);
 		trv_state->scs_count++;
 	} else if (strstr((char *)key.dptr, FSS_DB_KEY_PFX_SC_SET) != NULL) {
 		struct fss_sc_set *sc_set;
@@ -455,7 +455,7 @@ static int fss_state_retrieve_traverse(struct db_record *rec,
 		if (!NT_STATUS_IS_OK(status)) {
 			return -1;
 		}
-		DLIST_ADD_END(trv_state->sc_sets, sc_set, struct fss_sc_set *);
+		DLIST_ADD_END(trv_state->sc_sets, sc_set);
 		trv_state->sc_sets_count++;
 	} else {
 		/* global context and db vers */
@@ -487,7 +487,7 @@ static NTSTATUS fss_state_hierarchize_smaps(struct fss_traverse_state *trv_state
 		talloc_steal(sc, smap);
 		DLIST_REMOVE(trv_state->smaps, smap);
 		trv_state->smaps_count--;
-		DLIST_ADD_END(sc->smaps, smap, struct fss_sc_smap *);
+		DLIST_ADD_END(sc->smaps, smap);
 		smaps_moved++;
 
 		/* last component of the tdb key path is the sc share name */
@@ -527,7 +527,7 @@ static NTSTATUS fss_state_hierarchize_scs(struct fss_traverse_state *trv_state,
 		talloc_steal(sc_set, sc);
 		DLIST_REMOVE(trv_state->scs, sc);
 		trv_state->scs_count--;
-		DLIST_ADD_END(sc_set->scs, sc, struct fss_sc *);
+		DLIST_ADD_END(sc_set->scs, sc);
 		scs_moved++;
 
 		sc->sc_set = sc_set;
@@ -575,7 +575,7 @@ static NTSTATUS fss_state_hierarchize(struct fss_traverse_state *trv_state,
 		/* sc_set mem already owned by trv_state->mem_ctx */
 		DLIST_REMOVE(trv_state->sc_sets, sc_set);
 		trv_state->sc_sets_count--;
-		DLIST_ADD_END(*sc_sets, sc_set, struct fss_sc_set *);
+		DLIST_ADD_END(*sc_sets, sc_set);
 		i++;
 
 		/* last component of the tdb key path is the sc_set GUID str */
diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c
index 4fd8e1d..1e3a596 100644
--- a/source3/smbd/blocking.c
+++ b/source3/smbd/blocking.c
@@ -238,7 +238,7 @@ bool push_blocking_lock_request( struct byte_range_lock *br_lck,
 	SMB_PERFCOUNT_DEFER_OP(&req->pcd, &req->pcd);
 	blr->req = talloc_move(blr, &req);
 
-	DLIST_ADD_END(sconn->smb1.locks.blocking_lock_queue, blr, struct blocking_lock_record *);
+	DLIST_ADD_END(sconn->smb1.locks.blocking_lock_queue, blr);
 	recalc_brl_timeout(sconn);
 
 	/* Ensure we'll receive messages when this is unlocked. */
diff --git a/source3/smbd/notify.c b/source3/smbd/notify.c
index 6257260..d7382db 100644
--- a/source3/smbd/notify.c
+++ b/source3/smbd/notify.c
@@ -327,8 +327,7 @@ NTSTATUS change_notify_add_request(struct smb_request *req,
 	request->reply_fn = reply_fn;
 	request->backend_data = NULL;
 
-	DLIST_ADD_END(fsp->notify->requests, request,
-		      struct notify_change_request *);
+	DLIST_ADD_END(fsp->notify->requests, request);
 
 	map->mid = request->req->mid;
 	DLIST_ADD(sconn->smb1.notify_mid_maps, map);
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c
index 5e39370..1f2380b 100644
--- a/source3/smbd/posix_acls.c
+++ b/source3/smbd/posix_acls.c
@@ -1688,7 +1688,7 @@ static bool add_current_ace_to_acl(files_struct *fsp, struct security_ace *psa,
 		    (SEC_ACE_FLAG_OBJECT_INHERIT|SEC_ACE_FLAG_CONTAINER_INHERIT)) {
 
 			canon_ace *current_dir_ace = current_ace;
-			DLIST_ADD_END(*dir_ace, current_ace, canon_ace *);
+			DLIST_ADD_END(*dir_ace, current_ace);
 
 			/*
 			 * Note if this was an allow ace. We can't process
@@ -1790,7 +1790,7 @@ static bool add_current_ace_to_acl(files_struct *fsp, struct security_ace *psa,
 	 */
 
 	if (current_ace && !(psa->flags & SEC_ACE_FLAG_INHERIT_ONLY)) {
-		DLIST_ADD_END(*file_ace, current_ace, canon_ace *);
+		DLIST_ADD_END(*file_ace, current_ace);
 
 		/*
 		 * Note if this was an allow ace. We can't process
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index ee88b58..25c6d05 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -750,8 +750,7 @@ static bool push_queued_message(struct smb_request *req,
 	}
 #endif
 
-	DLIST_ADD_END(req->sconn->deferred_open_queue, msg,
-		      struct pending_message_list *);
+	DLIST_ADD_END(req->sconn->deferred_open_queue, msg);
 
 	DEBUG(10,("push_message: pushed message length %u on "
 		  "deferred_open_queue\n", (unsigned int)msg_len));
@@ -3873,7 +3872,7 @@ NTSTATUS smbd_add_connection(struct smbXsrv_client *client, int sock_fd,
 	}
 
 	/* for now we only have one connection */
-	DLIST_ADD_END(client->connections, xconn, NULL);
+	DLIST_ADD_END(client->connections, xconn);
 	xconn->client = client;
 	talloc_steal(client, xconn);
 
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 1dd4f89..42fcad6 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -846,7 +846,7 @@ static bool smbd_open_one_socket(struct smbd_parent_context *parent,
 	}
 	tevent_fd_set_close_fn(s->fde, smbd_open_socket_close_fn);
 
-	DLIST_ADD_END(parent->sockets, s, struct smbd_open_socket *);
+	DLIST_ADD_END(parent->sockets, s);
 
 	return true;
 }
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 58f933b..ac922a1 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -1050,7 +1050,7 @@ static NTSTATUS smbd_smb2_request_setup_out(struct smbd_smb2_request *req)
 		return NT_STATUS_INVALID_PARAMETER_MIX;
 	}
 
-	DLIST_ADD_END(xconn->smb2.requests, req, struct smbd_smb2_request *);
+	DLIST_ADD_END(xconn->smb2.requests, req);
 
 	return NT_STATUS_OK;
 }
@@ -1304,7 +1304,7 @@ static NTSTATUS smb2_send_async_interim_response(const struct smbd_smb2_request
 	nreq->queue_entry.mem_ctx = nreq;
 	nreq->queue_entry.vector = nreq->out.vector;
 	nreq->queue_entry.count = nreq->out.vector_count;
-	DLIST_ADD_END(xconn->smb2.send_queue, &nreq->queue_entry, NULL);
+	DLIST_ADD_END(xconn->smb2.send_queue, &nreq->queue_entry);
 	xconn->smb2.send_queue_len++;
 
 	status = smbd_smb2_flush_send_queue(xconn);
@@ -1691,7 +1691,7 @@ static void smbd_smb2_request_pending_timer(struct tevent_context *ev,
 	state->queue_entry.mem_ctx = state;
 	state->queue_entry.vector = state->vector;
 	state->queue_entry.count = ARRAY_SIZE(state->vector);
-	DLIST_ADD_END(xconn->smb2.send_queue, &state->queue_entry, NULL);
+	DLIST_ADD_END(xconn->smb2.send_queue, &state->queue_entry);
 	xconn->smb2.send_queue_len++;
 
 	status = smbd_smb2_flush_send_queue(xconn);
@@ -2762,7 +2762,7 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req)
 	req->queue_entry.mem_ctx = req;
 	req->queue_entry.vector = req->out.vector;
 	req->queue_entry.count = req->out.vector_count;
-	DLIST_ADD_END(xconn->smb2.send_queue, &req->queue_entry, NULL);
+	DLIST_ADD_END(xconn->smb2.send_queue, &req->queue_entry);
 	xconn->smb2.send_queue_len++;
 
 	status = smbd_smb2_flush_send_queue(xconn);
@@ -3104,7 +3104,7 @@ static NTSTATUS smbd_smb2_send_break(struct smbXsrv_connection *xconn,
 	state->queue_entry.mem_ctx = state;
 	state->queue_entry.vector = state->vector;
 	state->queue_entry.count = ARRAY_SIZE(state->vector);
-	DLIST_ADD_END(xconn->smb2.send_queue, &state->queue_entry, NULL);
+	DLIST_ADD_END(xconn->smb2.send_queue, &state->queue_entry);
 	xconn->smb2.send_queue_len++;
 
 	status = smbd_smb2_flush_send_queue(xconn);
diff --git a/source3/smbd/smbXsrv_session.c b/source3/smbd/smbXsrv_session.c
index 9f8520a..732388b 100644
--- a/source3/smbd/smbXsrv_session.c
+++ b/source3/smbd/smbXsrv_session.c
@@ -1470,7 +1470,7 @@ NTSTATUS smbXsrv_session_create_auth(struct smbXsrv_session *session,
 	}
 
 	talloc_set_destructor(a, smbXsrv_session_auth0_destructor);
-	DLIST_ADD_END(session->pending_auth, a, NULL);
+	DLIST_ADD_END(session->pending_auth, a);
 
 	*_a = a;
 	return NT_STATUS_OK;
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 75be763..ab6e118 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -394,7 +394,7 @@ static NTSTATUS get_ea_list_from_file_path(TALLOC_CTX *mem_ctx, connection_struc
 			  "= %u\n", (unsigned int)*pea_total_len, dos_ea_name,
 			  (unsigned int)listp->ea.value.length));
 
-		DLIST_ADD_END(ea_list_head, listp, struct ea_list *);
+		DLIST_ADD_END(ea_list_head, listp);
 
 	}
 
@@ -749,7 +749,7 @@ static struct ea_list *read_ea_name_list(TALLOC_CTX *ctx, const char *pdata, siz
 		}
 
 		offset += (namelen + 1); /* Go past the name + terminating zero. */
-		DLIST_ADD_END(ea_list_head, eal, struct ea_list *);
+		DLIST_ADD_END(ea_list_head, eal);
 		DEBUG(10,("read_ea_name_list: read ea name %s\n", eal->ea.name));
 	}
 
@@ -773,7 +773,7 @@ static struct ea_list *read_ea_list(TALLOC_CTX *ctx, const char *pdata, size_t d
 			return NULL;
 		}
 
-		DLIST_ADD_END(ea_list_head, eal, struct ea_list *);
+		DLIST_ADD_END(ea_list_head, eal);
 		offset += bytes_used;
 	}
 
diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c
index 57ee40c..8139daa 100644
--- a/source3/winbindd/winbindd_util.c
+++ b/source3/winbindd/winbindd_util.c
@@ -246,7 +246,7 @@ static struct winbindd_domain *add_trusted_domain(const char *domain_name, const
 	}
 
 	/* Link to domain list */
-	DLIST_ADD_END(_domain_list, domain, struct winbindd_domain *);
+	DLIST_ADD_END(_domain_list, domain);
 
 	wcache_tdc_add_domain( domain );
 
diff --git a/source4/auth/ntlm/auth.c b/source4/auth/ntlm/auth.c
index 4627c3d..eeb2336 100644
--- a/source4/auth/ntlm/auth.c
+++ b/source4/auth/ntlm/auth.c
@@ -575,7 +575,7 @@ _PUBLIC_ NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char *
 		}
 		method->auth_ctx	= ctx;
 		method->depth		= i;
-		DLIST_ADD_END(ctx->methods, method, struct auth_method_context *);
+		DLIST_ADD_END(ctx->methods, method);
 	}
 
 	ctx->check_ntlm_password = auth_check_password_wrapper;
diff --git a/source4/dns_server/dnsserver_common.c b/source4/dns_server/dnsserver_common.c
index 19aa75a..095f01a 100644
--- a/source4/dns_server/dnsserver_common.c
+++ b/source4/dns_server/dnsserver_common.c
@@ -509,7 +509,7 @@ NTSTATUS dns_common_zones(struct ldb_context *samdb,
 			talloc_free(z);
 			continue;
 		}
-		DLIST_ADD_END(new_list, z, NULL);
+		DLIST_ADD_END(new_list, z);
 	}
 
 	*zones_ret = new_list;
diff --git a/source4/dsdb/common/util_trusts.c b/source4/dsdb/common/util_trusts.c
index 73221eb..0e69ba2 100644
--- a/source4/dsdb/common/util_trusts.c
+++ b/source4/dsdb/common/util_trusts.c
@@ -2856,7 +2856,7 @@ NTSTATUS dsdb_trust_routing_table_load(struct ldb_context *sam_ctx,
 			return status;
 		}
 
-		DLIST_ADD_END(table->domains, d, NULL);
+		DLIST_ADD_END(table->domains, d);
 
 		if (d->tdo->trust_attributes & LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE) {
 			struct ForestTrustInfo *fti = NULL;
diff --git a/source4/dsdb/kcc/kcc_drs_replica_info.c b/source4/dsdb/kcc/kcc_drs_replica_info.c
index ef64f82..3f16de8 100644
--- a/source4/dsdb/kcc/kcc_drs_replica_info.c
+++ b/source4/dsdb/kcc/kcc_drs_replica_info.c
@@ -468,7 +468,7 @@ static WERROR get_ncs_list(TALLOC_CTX *mem_ctx,
 		nc_list_elem = talloc_zero(mem_ctx, struct ncList);
 		W_ERROR_HAVE_NO_MEMORY(nc_list_elem);
 		nc_list_elem->dn = nc_dn;
-		DLIST_ADD_END(*nc_list, nc_list_elem, struct ncList*);
+		DLIST_ADD_END(*nc_list, nc_list_elem);
 	} else {
 		/* ncs := getNCs() from ldb database.
 		 * getNCs() must return an array containing
diff --git a/source4/dsdb/repl/drepl_notify.c b/source4/dsdb/repl/drepl_notify.c
index 3f2c851..ee2e4c8 100644
--- a/source4/dsdb/repl/drepl_notify.c
+++ b/source4/dsdb/repl/drepl_notify.c
@@ -323,7 +323,7 @@ static WERROR dreplsrv_schedule_notify_sync(struct dreplsrv_service *service,
 	op->replica_flags = replica_flags;
 	op->schedule_time = time(NULL);
 
-	DLIST_ADD_END(service->ops.notifies, op, struct dreplsrv_notify_operation *);
+	DLIST_ADD_END(service->ops.notifies, op);
 	talloc_steal(service, op);
 	return WERR_OK;
 }
diff --git a/source4/dsdb/repl/drepl_out_pull.c b/source4/dsdb/repl/drepl_out_pull.c
index e64c91d..2da2673 100644
--- a/source4/dsdb/repl/drepl_out_pull.c
+++ b/source4/dsdb/repl/drepl_out_pull.c
@@ -127,7 +127,7 @@ WERROR dreplsrv_schedule_partition_pull_source(struct dreplsrv_service *s,
 	op->cb_data	= cb_data;
 	op->schedule_time = time(NULL);
 
-	DLIST_ADD_END(s->ops.pending, op, struct dreplsrv_out_operation *);
+	DLIST_ADD_END(s->ops.pending, op);
 
 	return WERR_OK;
 }
diff --git a/source4/dsdb/repl/drepl_partitions.c b/source4/dsdb/repl/drepl_partitions.c
index c822ba9..65b4843 100644
--- a/source4/dsdb/repl/drepl_partitions.c
+++ b/source4/dsdb/repl/drepl_partitions.c
@@ -345,7 +345,7 @@ WERROR dreplsrv_out_connection_attach(struct dreplsrv_service *s,
 			return ntstatus_to_werror(nt_status);
 		}
 
-		DLIST_ADD_END(s->connections, conn, struct dreplsrv_out_connection *);
+		DLIST_ADD_END(s->connections, conn);
 
 		DEBUG(4,("dreplsrv_out_connection_attach(%s): create\n", hostname));
 	} else {
@@ -425,7 +425,7 @@ static WERROR dreplsrv_partition_add_source_dsa(struct dreplsrv_service *s,
 		}
 	}
 
-	DLIST_ADD_END(*listp, source, struct dreplsrv_partition_source_dsa *);
+	DLIST_ADD_END(*listp, source);
 	return WERR_OK;
 }
 
diff --git a/source4/dsdb/repl/replicated_objects.c b/source4/dsdb/repl/replicated_objects.c
index e670bb5..e9225f5 100644
--- a/source4/dsdb/repl/replicated_objects.c
+++ b/source4/dsdb/repl/replicated_objects.c
@@ -138,7 +138,7 @@ WERROR dsdb_repl_resolve_working_schema(struct ldb_context *ldb,
 		}
 
 		schema_list_item->obj = cur;
-		DLIST_ADD_END(schema_list, schema_list_item, struct schema_list);
+		DLIST_ADD_END(schema_list, schema_list_item);
 	}
 
 	/* resolve objects until all are resolved and in local schema */
diff --git a/source4/dsdb/samdb/ldb_modules/descriptor.c b/source4/dsdb/samdb/ldb_modules/descriptor.c
index cc0a9c2..2baf4af 100644
--- a/source4/dsdb/samdb/ldb_modules/descriptor.c
+++ b/source4/dsdb/samdb/ldb_modules/descriptor.c
@@ -1049,9 +1049,9 @@ static int descriptor_extended_sec_desc_propagation(struct ldb_module *module,
 	}
 
 	if (parent_change != NULL) {
-		DLIST_ADD_END(parent_change->children, c, NULL);
+		DLIST_ADD_END(parent_change->children, c);
 	} else {
-		DLIST_ADD_END(descriptor_private->changes, c, NULL);
+		DLIST_ADD_END(descriptor_private->changes, c);
 	}
 
 	return ldb_module_done(req, NULL, NULL, LDB_SUCCESS);
diff --git a/source4/dsdb/samdb/ldb_modules/linked_attributes.c b/source4/dsdb/samdb/ldb_modules/linked_attributes.c
index 63ccbde..8063162 100644
--- a/source4/dsdb/samdb/ldb_modules/linked_attributes.c
+++ b/source4/dsdb/samdb/ldb_modules/linked_attributes.c
@@ -219,7 +219,7 @@ static int la_store_op(struct la_context *ac,
 
 	/* Do deletes before adds */
 	if (op == LA_OP_ADD) {
-		DLIST_ADD_END(ac->ops, os, struct la_op_store *);
+		DLIST_ADD_END(ac->ops, os);
 	} else {
 		/* By adding to the head of the list, we do deletes before
 		 * adds when processing a replace */
diff --git a/source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c b/source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c
index 2cf262a..52c8aad 100644
--- a/source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c
+++ b/source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c
@@ -126,7 +126,7 @@ static int add_modified(struct ldb_module *module, struct ldb_dn *dn, bool do_de
 	item->do_delete = do_delete;
 	talloc_free(res);
 
-	DLIST_ADD_END(data->changed_dns, item, struct dn_list *);
+	DLIST_ADD_END(data->changed_dns, item);
 	return LDB_SUCCESS;
 }
 
diff --git a/source4/dsdb/samdb/ldb_modules/update_keytab.c b/source4/dsdb/samdb/ldb_modules/update_keytab.c
index 42c3fa8..780eb81 100644
--- a/source4/dsdb/samdb/ldb_modules/update_keytab.c
+++ b/source4/dsdb/samdb/ldb_modules/update_keytab.c
@@ -122,7 +122,7 @@ static int add_modified(struct ldb_module *module, struct ldb_dn *dn, bool do_de
 	item->do_delete = do_delete;
 	talloc_free(res);
 
-	DLIST_ADD_END(data->changed_dns, item, struct dn_list *);
+	DLIST_ADD_END(data->changed_dns, item);
 	return LDB_SUCCESS;
 }
 
diff --git a/source4/dsdb/schema/schema_query.c b/source4/dsdb/schema/schema_query.c
index 013878d..d448cdf 100644
--- a/source4/dsdb/schema/schema_query.c
+++ b/source4/dsdb/schema/schema_query.c
@@ -530,7 +530,7 @@ int dsdb_sort_objectClass_attr(struct ldb_context *ldb,
 
 		/* Don't add top to list, we will do that later */
 		if (ldb_attr_cmp("top", current->objectclass->lDAPDisplayName) != 0) {
-			DLIST_ADD_END(unsorted, current, struct class_list *);
+			DLIST_ADD_END(unsorted, current);
 		}
 	}
 
@@ -538,7 +538,7 @@ int dsdb_sort_objectClass_attr(struct ldb_context *ldb,
 	/* Add top here, to prevent duplicates */
 	current = talloc(tmp_mem_ctx, struct class_list);
 	current->objectclass = dsdb_class_by_lDAPDisplayName(schema, "top");
-	DLIST_ADD_END(sorted, current, struct class_list *);
+	DLIST_ADD_END(sorted, current);
 
 	/* For each object: find parent chain */
 	for (current = unsorted; current != NULL; current = current->next) {
@@ -554,7 +554,7 @@ int dsdb_sort_objectClass_attr(struct ldb_context *ldb,
 
 		new_parent = talloc(tmp_mem_ctx, struct class_list);
 		new_parent->objectclass = dsdb_class_by_lDAPDisplayName(schema, current->objectclass->subClassOf);
-		DLIST_ADD_END(unsorted, new_parent, struct class_list *);
+		DLIST_ADD_END(unsorted, new_parent);
 	}
 
 	/* For each object: order by hierarchy */
@@ -582,7 +582,7 @@ int dsdb_sort_objectClass_attr(struct ldb_context *ldb,
 
 		if (current_lowest != NULL) {
 			DLIST_REMOVE(unsorted,current_lowest);
-			DLIST_ADD_END(sorted,current_lowest, struct class_list *);
+			DLIST_ADD_END(sorted,current_lowest);
 		}
 	}
 
diff --git a/source4/ldap_server/ldap_backend.c b/source4/ldap_server/ldap_backend.c
index fd2b579..7efb7ed 100644
--- a/source4/ldap_server/ldap_backend.c
+++ b/source4/ldap_server/ldap_backend.c
@@ -255,7 +255,7 @@ struct ldapsrv_reply *ldapsrv_init_reply(struct ldapsrv_call *call, uint8_t type
 
 void ldapsrv_queue_reply(struct ldapsrv_call *call, struct ldapsrv_reply *reply)
 {
-	DLIST_ADD_END(call->replies, reply, struct ldapsrv_reply *);
+	DLIST_ADD_END(call->replies, reply);
 }
 
 static NTSTATUS ldapsrv_unwilling(struct ldapsrv_call *call, int error)
diff --git a/source4/lib/http/http.c b/source4/lib/http/http.c
index c3bd728..c6976ee 100644
--- a/source4/lib/http/http.c
+++ b/source4/lib/http/http.c
@@ -357,7 +357,7 @@ static int http_add_header_internal(TALLOC_CTX *mem_ctx,
 	h = talloc(mem_ctx, struct http_header);
 	h->key = talloc_strdup(h, key);
 	h->value = talloc_strdup(h, value);
-	DLIST_ADD_END(*headers, h, NULL);
+	DLIST_ADD_END(*headers, h);
 	tail = DLIST_TAIL(*headers);
 	if (tail != h) {
 		DEBUG(0, ("%s: Error adding header\n", __func__));
diff --git a/source4/lib/socket/interface.c b/source4/lib/socket/interface.c
index 9b0d00e..963c0aa 100644
--- a/source4/lib/socket/interface.c
+++ b/source4/lib/socket/interface.c
@@ -135,7 +135,7 @@ static void add_interface(TALLOC_CTX *mem_ctx, const struct iface_struct *ifs, s
 	   this needs to be a ADD_END, as some tests (such as the
 	   spoolss notify test) depend on the interfaces ordering
 	*/
-	DLIST_ADD_END(*interfaces, iface, NULL);
+	DLIST_ADD_END(*interfaces, iface);
 }
 
 /**
diff --git a/source4/lib/stream/packet.c b/source4/lib/stream/packet.c
index b36d650..b050369 100644
--- a/source4/lib/stream/packet.c
+++ b/source4/lib/stream/packet.c
@@ -541,7 +541,7 @@ _PUBLIC_ NTSTATUS packet_send_callback(struct packet_context *pc, DATA_BLOB blob
 	el = talloc(pc, struct send_element);
 	NT_STATUS_HAVE_NO_MEMORY(el);
 
-	DLIST_ADD_END(pc->send_queue, el, struct send_element *);
+	DLIST_ADD_END(pc->send_queue, el);
 	el->blob = blob;
 	el->nsent = 0;
 	el->send_callback = send_callback;
diff --git a/source4/libcli/dgram/dgramsocket.c b/source4/libcli/dgram/dgramsocket.c
index cd6d3e4..b6e7dd1 100644
--- a/source4/libcli/dgram/dgramsocket.c
+++ b/source4/libcli/dgram/dgramsocket.c
@@ -231,7 +231,7 @@ NTSTATUS nbt_dgram_send(struct nbt_dgram_socket *dgmsock,
 		goto failed;
 	}
 
-	DLIST_ADD_END(dgmsock->send_queue, req, struct nbt_dgram_request *);
+	DLIST_ADD_END(dgmsock->send_queue, req);
 
 	TEVENT_FD_WRITEABLE(dgmsock->fde);
 
diff --git a/source4/libcli/resolve/resolve.c b/source4/libcli/resolve/resolve.c
index b5930aa..1390300 100644
--- a/source4/libcli/resolve/resolve.c
+++ b/source4/libcli/resolve/resolve.c
@@ -75,7 +75,7 @@ bool resolve_context_add_method(struct resolve_context *ctx, resolve_name_send_f
 	method->send_fn = send_fn;
 	method->recv_fn = recv_fn;
 	method->privdata = userdata;
-	DLIST_ADD_END(ctx->methods, method, struct resolve_method *);
+	DLIST_ADD_END(ctx->methods, method);
 	return true;
 }
 
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index 6ce0d35..33c3706 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -1245,7 +1245,7 @@ struct tevent_req *dcerpc_bind_send(TALLOC_CTX *mem_ctx,
 	subreq->async.callback = dcerpc_bind_fail_handler;
 	subreq->p = p;
 	subreq->recv_handler = dcerpc_bind_recv_handler;
-	DLIST_ADD_END(p->conn->pending, subreq, struct rpc_request *);
+	DLIST_ADD_END(p->conn->pending, subreq);
 	talloc_set_destructor(subreq, dcerpc_req_dequeue);
 
 	status = dcerpc_send_request(p->conn, &blob, true);
@@ -1603,7 +1603,7 @@ static struct rpc_request *dcerpc_request_send(TALLOC_CTX *mem_ctx,
 	req->request_data.length = stub_data->length;
 	req->request_data.data = stub_data->data;
 
-	DLIST_ADD_END(p->conn->request_queue, req, struct rpc_request *);
+	DLIST_ADD_END(p->conn->request_queue, req);
 	talloc_set_destructor(req, dcerpc_req_dequeue);
 
 	dcerpc_schedule_io_trigger(p->conn);
@@ -2141,7 +2141,7 @@ struct tevent_req *dcerpc_alter_context_send(TALLOC_CTX *mem_ctx,
 	subreq->async.callback = dcerpc_alter_context_fail_handler;
 	subreq->p = p;
 	subreq->recv_handler = dcerpc_alter_context_recv_handler;
-	DLIST_ADD_END(p->conn->pending, subreq, struct rpc_request *);
+	DLIST_ADD_END(p->conn->pending, subreq);
 	talloc_set_destructor(subreq, dcerpc_req_dequeue);
 
 	status = dcerpc_send_request(p->conn, &blob, true);
diff --git a/source4/nbt_server/register.c b/source4/nbt_server/register.c
index 07f4e20..08caa11 100644
--- a/source4/nbt_server/register.c
+++ b/source4/nbt_server/register.c
@@ -199,7 +199,7 @@ static void nbtd_register_name_iface(struct nbtd_interface *iface,
 	iname->registration_time = timeval_zero();
 	iname->wins_server       = NULL;
 
-	DLIST_ADD_END(iface->names, iname, struct nbtd_iface_name *);
+	DLIST_ADD_END(iface->names, iname);
 
 	if (nb_flags & NBT_NM_PERMANENT) {
 		/* permanent names are not announced and are immediately active */
diff --git a/source4/nbt_server/wins/winsserver.c b/source4/nbt_server/wins/winsserver.c
index a60d5bd..98789c0 100644
--- a/source4/nbt_server/wins/winsserver.c
+++ b/source4/nbt_server/wins/winsserver.c
@@ -422,7 +422,7 @@ static void wins_register_wack(struct nbt_name_socket *nbtsock,
 	s->io.in.addresses	= winsdb_addr_string_list(s, rec->addresses);
 	if (s->io.in.addresses == NULL) goto failed;
 
-	DLIST_ADD_END(iface->wack_queue, s, struct nbtd_wins_wack_state *);
+	DLIST_ADD_END(iface->wack_queue, s);
 
 	talloc_set_destructor(s, nbtd_wins_wack_state_destructor);
 
diff --git a/source4/ntvfs/ntvfs_base.c b/source4/ntvfs/ntvfs_base.c
index 8058181..d037a0e 100644
--- a/source4/ntvfs/ntvfs_base.c
+++ b/source4/ntvfs/ntvfs_base.c
@@ -190,7 +190,7 @@ NTSTATUS ntvfs_init_connection(TALLOC_CTX *mem_ctx, struct share_config *scfg, e
 			return NT_STATUS_INTERNAL_ERROR;
 		}
 		ntvfs->depth = i;
-		DLIST_ADD_END(ctx->modules, ntvfs, struct ntvfs_module_context *);
+		DLIST_ADD_END(ctx->modules, ntvfs);
 	}
 
 	if (!ctx->modules) {
diff --git a/source4/ntvfs/posix/pvfs_notify.c b/source4/ntvfs/posix/pvfs_notify.c
index 316353f..91a151b 100644
--- a/source4/ntvfs/posix/pvfs_notify.c
+++ b/source4/ntvfs/posix/pvfs_notify.c
@@ -278,7 +278,7 @@ NTSTATUS pvfs_notify(struct ntvfs_module_context *ntvfs,
 	NT_STATUS_HAVE_NO_MEMORY(pending->req);	
 	pending->info = info;
 
-	DLIST_ADD_END(f->notify_buffer->pending, pending, struct notify_pending *);
+	DLIST_ADD_END(f->notify_buffer->pending, pending);
 
 	/* if the buffer is empty then start waiting */
 	if (f->notify_buffer->num_changes == 0 && 
diff --git a/source4/rpc_server/common/reply.c b/source4/rpc_server/common/reply.c
index 007b680..59c289c 100644
--- a/source4/rpc_server/common/reply.c
+++ b/source4/rpc_server/common/reply.c
@@ -67,13 +67,13 @@ static void dcesrv_call_set_list(struct dcesrv_call_state *call,
 	case DCESRV_LIST_NONE:
 		break;
 	case DCESRV_LIST_CALL_LIST:
-		DLIST_ADD_END(call->conn->call_list, call, struct dcesrv_call_state *);
+		DLIST_ADD_END(call->conn->call_list, call);
 		break;
 	case DCESRV_LIST_FRAGMENTED_CALL_LIST:
-		DLIST_ADD_END(call->conn->incoming_fragmented_call_list, call, struct dcesrv_call_state *);
+		DLIST_ADD_END(call->conn->incoming_fragmented_call_list, call);
 		break;
 	case DCESRV_LIST_PENDING_CALL_LIST:
-		DLIST_ADD_END(call->conn->pending_call_list, call, struct dcesrv_call_state *);
+		DLIST_ADD_END(call->conn->pending_call_list, call);
 		break;
 	}
 }
@@ -130,7 +130,7 @@ NTSTATUS dcesrv_fault(struct dcesrv_call_state *call, uint32_t fault_code)
 
 	dcerpc_set_frag_length(&rep->blob, rep->blob.length);
 
-	DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *);
+	DLIST_ADD_END(call->replies, rep);
 	dcesrv_call_set_list(call, DCESRV_LIST_CALL_LIST);
 
 	if (call->conn->call_list && call->conn->call_list->replies) {
@@ -238,7 +238,7 @@ _PUBLIC_ NTSTATUS dcesrv_reply(struct dcesrv_call_state *call)
 
 		dcerpc_set_frag_length(&rep->blob, rep->blob.length);
 
-		DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *);
+		DLIST_ADD_END(call->replies, rep);
 
 		stub.data += length;
 		stub.length -= length;
diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c
index ad1e82d..df0ffc8 100644
--- a/source4/rpc_server/dcerpc_server.c
+++ b/source4/rpc_server/dcerpc_server.c
@@ -439,13 +439,13 @@ static void dcesrv_call_set_list(struct dcesrv_call_state *call,
 	case DCESRV_LIST_NONE:
 		break;
 	case DCESRV_LIST_CALL_LIST:
-		DLIST_ADD_END(call->conn->call_list, call, struct dcesrv_call_state *);
+		DLIST_ADD_END(call->conn->call_list, call);
 		break;
 	case DCESRV_LIST_FRAGMENTED_CALL_LIST:
-		DLIST_ADD_END(call->conn->incoming_fragmented_call_list, call, struct dcesrv_call_state *);
+		DLIST_ADD_END(call->conn->incoming_fragmented_call_list, call);
 		break;
 	case DCESRV_LIST_PENDING_CALL_LIST:
-		DLIST_ADD_END(call->conn->pending_call_list, call, struct dcesrv_call_state *);
+		DLIST_ADD_END(call->conn->pending_call_list, call);
 		break;
 	}
 }
@@ -486,7 +486,7 @@ static NTSTATUS dcesrv_bind_nak(struct dcesrv_call_state *call, uint32_t reason)
 
 	dcerpc_set_frag_length(&rep->blob, rep->blob.length);
 
-	DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *);
+	DLIST_ADD_END(call->replies, rep);
 	dcesrv_call_set_list(call, DCESRV_LIST_CALL_LIST);
 
 	if (call->conn->call_list && call->conn->call_list->replies) {
@@ -695,7 +695,7 @@ static NTSTATUS dcesrv_bind(struct dcesrv_call_state *call)
 
 	dcerpc_set_frag_length(&rep->blob, rep->blob.length);
 
-	DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *);
+	DLIST_ADD_END(call->replies, rep);
 	dcesrv_call_set_list(call, DCESRV_LIST_CALL_LIST);
 
 	if (call->conn->call_list && call->conn->call_list->replies) {
@@ -860,7 +860,7 @@ static NTSTATUS dcesrv_alter_resp(struct dcesrv_call_state *call,
 
 	dcerpc_set_frag_length(&rep->blob, rep->blob.length);
 
-	DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *);
+	DLIST_ADD_END(call->replies, rep);
 	dcesrv_call_set_list(call, DCESRV_LIST_CALL_LIST);
 
 	if (call->conn->call_list && call->conn->call_list->replies) {
@@ -1393,7 +1393,7 @@ static void dcesrv_terminate_connection(struct dcesrv_connection *dce_conn, cons
 	if (dce_conn->terminate == NULL) {
 		dce_conn->terminate = "dcesrv: defered terminating connection - no memory";
 	}
-	DLIST_ADD_END(dce_ctx->broken_connections, dce_conn, NULL);
+	DLIST_ADD_END(dce_ctx->broken_connections, dce_conn);
 }
 
 static void dcesrv_cleanup_broken_connections(struct dcesrv_context *dce_ctx)
diff --git a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
index 3df7294..a4b82e5 100644
--- a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
+++ b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c
@@ -62,14 +62,14 @@ static void dnsserver_reload_zones(struct dnsserver_state *dsstate)
 				if (z->zoneinfo == NULL) {
 					continue;
 				}
-				DLIST_ADD_END(new_list, z, NULL);
+				DLIST_ADD_END(new_list, z);
 				p->zones_count++;
 				dsstate->zones_count++;
 			} else {
 				/* Existing zone */
 				talloc_free(z);
 				DLIST_REMOVE(old_list, zmatch);
-				DLIST_ADD_END(new_list, zmatch, NULL);
+				DLIST_ADD_END(new_list, zmatch);
 			}
 			z = znext;
 		}
@@ -146,7 +146,7 @@ static struct dnsserver_state *dnsserver_connect(struct dcesrv_call_state *dce_c
 				if (z->zoneinfo == NULL) {
 					goto failed;
 				}
-				DLIST_ADD_END(dsstate->zones, z, NULL);
+				DLIST_ADD_END(dsstate->zones, z);
 				p->zones_count++;
 				dsstate->zones_count++;
 			} else {
diff --git a/source4/rpc_server/dnsserver/dnsdb.c b/source4/rpc_server/dnsserver/dnsdb.c
index e567f5a..0a76030 100644
--- a/source4/rpc_server/dnsserver/dnsdb.c
+++ b/source4/rpc_server/dnsserver/dnsdb.c
@@ -53,7 +53,7 @@ struct dnsserver_partition *dnsserver_db_enumerate_partitions(TALLOC_CTX *mem_ct
 	p->dwDpFlags = DNS_DP_AUTOCREATED | DNS_DP_DOMAIN_DEFAULT | DNS_DP_ENLISTED;
 	p->is_forest = false;
 
-	DLIST_ADD_END(partitions, p, NULL);
+	DLIST_ADD_END(partitions, p);
 
 	/* Forest Partition */
 	p = talloc_zero(mem_ctx, struct dnsserver_partition);
@@ -70,7 +70,7 @@ struct dnsserver_partition *dnsserver_db_enumerate_partitions(TALLOC_CTX *mem_ct
 	p->dwDpFlags = DNS_DP_AUTOCREATED | DNS_DP_FOREST_DEFAULT | DNS_DP_ENLISTED;
 	p->is_forest = true;
 
-	DLIST_ADD_END(partitions, p, NULL);
+	DLIST_ADD_END(partitions, p);
 
 	return partitions;
 
@@ -136,7 +136,7 @@ struct dnsserver_zone *dnsserver_db_enumerate_zones(TALLOC_CTX *mem_ctx,
 		}
 		z->zone_dn = talloc_steal(z, res->msgs[i]->dn);
 
-		DLIST_ADD_END(zones, z, NULL);
+		DLIST_ADD_END(zones, z);
 		DEBUG(2, ("dnsserver: Found DNS zone %s\n", z->name));
 	}
 
diff --git a/source4/smb_server/smb2/receive.c b/source4/smb_server/smb2/receive.c
index 9187310..3e5dc4d 100644
--- a/source4/smb_server/smb2/receive.c
+++ b/source4/smb_server/smb2/receive.c
@@ -618,7 +618,7 @@ NTSTATUS smb2srv_queue_pending(struct smb2srv_request *req)
 		return NT_STATUS_INSUFFICIENT_RESOURCES;
 	}
 
-	DLIST_ADD_END(req->smb_conn->requests2.list, req, struct smb2srv_request *);
+	DLIST_ADD_END(req->smb_conn->requests2.list, req);
 	req->pending_id = id;
 
 	talloc_set_destructor(req, smb2srv_request_deny_destructor);
diff --git a/source4/smb_server/smb_server.h b/source4/smb_server/smb_server.h
index ab55544..40af4a6 100644
--- a/source4/smb_server/smb_server.h
+++ b/source4/smb_server/smb_server.h
@@ -475,7 +475,7 @@ struct loadparm_context;
 #define SMBSRV_CALL_NTVFS_BACKEND(cmd) do { \
 	req->ntvfs->async_states->status = cmd; \
 	if (req->ntvfs->async_states->state & NTVFS_ASYNC_STATE_ASYNC) { \
-		DLIST_ADD_END(req->smb_conn->requests, req, struct smbsrv_request *); \
+		DLIST_ADD_END(req->smb_conn->requests, req); \
 	} else { \
 		req->ntvfs->async_states->send_fn(req->ntvfs); \
 	} \
diff --git a/source4/smbd/service.c b/source4/smbd/service.c
index 9cdbbc2..81ad3c5 100644
--- a/source4/smbd/service.c
+++ b/source4/smbd/service.c
@@ -44,7 +44,7 @@ NTSTATUS register_server_service(const char *name,
 	NT_STATUS_HAVE_NO_MEMORY(srv);
 	srv->service_name = name;
 	srv->task_init = task_init;
-	DLIST_ADD_END(registered_servers, srv, struct registered_server *);
+	DLIST_ADD_END(registered_servers, srv);
 	return NT_STATUS_OK;
 }
 
diff --git a/source4/torture/local/fsrvp_state.c b/source4/torture/local/fsrvp_state.c
index 3a08543..a806e64 100644
--- a/source4/torture/local/fsrvp_state.c
+++ b/source4/torture/local/fsrvp_state.c
@@ -298,12 +298,12 @@ static bool test_fsrvp_state_single(struct torture_context *tctx)
 	ok = test_fsrvp_state_smap(tctx, sc, "base_share", "sc_share", &smap);
 	torture_assert(tctx, ok, "failed to create smap");
 
-	DLIST_ADD_END(fss_gs.sc_sets, sc_set, struct fss_sc_set *);
+	DLIST_ADD_END(fss_gs.sc_sets, sc_set);
 	fss_gs.sc_sets_count++;
-	DLIST_ADD_END(sc_set->scs, sc, struct fss_sc *);
+	DLIST_ADD_END(sc_set->scs, sc);
 	sc_set->scs_count++;
 	sc->sc_set = sc_set;
-	DLIST_ADD_END(sc->smaps, smap, struct fss_sc_smap *);
+	DLIST_ADD_END(sc->smaps, smap);
 	sc->smaps_count++;
 
 	status = fss_state_store(fss_gs.mem_ctx, fss_gs.sc_sets,
@@ -392,23 +392,23 @@ static bool test_fsrvp_state_multi(struct torture_context *tctx)
 				   &smap_abb);
 	torture_assert(tctx, ok, "failed to create smap");
 
-	DLIST_ADD_END(fss_gs.sc_sets, sc_set_a, struct fss_sc_set *);
+	DLIST_ADD_END(fss_gs.sc_sets, sc_set_a);
 	fss_gs.sc_sets_count++;
-	DLIST_ADD_END(fss_gs.sc_sets, sc_set_b, struct fss_sc_set *);
+	DLIST_ADD_END(fss_gs.sc_sets, sc_set_b);
 	fss_gs.sc_sets_count++;
 
-	DLIST_ADD_END(sc_set_a->scs, sc_aa, struct fss_sc *);
+	DLIST_ADD_END(sc_set_a->scs, sc_aa);
 	sc_set_a->scs_count++;
 	sc_aa->sc_set = sc_set_a;
-	DLIST_ADD_END(sc_set_a->scs, sc_ab, struct fss_sc *);
+	DLIST_ADD_END(sc_set_a->scs, sc_ab);
 	sc_set_a->scs_count++;
 	sc_ab->sc_set = sc_set_a;
 
-	DLIST_ADD_END(sc_aa->smaps, smap_aaa, struct fss_sc_smap *);
+	DLIST_ADD_END(sc_aa->smaps, smap_aaa);
 	sc_aa->smaps_count++;
-	DLIST_ADD_END(sc_ab->smaps, smap_aba, struct fss_sc_smap *);
+	DLIST_ADD_END(sc_ab->smaps, smap_aba);
 	sc_ab->smaps_count++;
-	DLIST_ADD_END(sc_ab->smaps, smap_abb, struct fss_sc_smap *);
+	DLIST_ADD_END(sc_ab->smaps, smap_abb);
 	sc_ab->smaps_count++;
 
 	status = fss_state_store(fss_gs.mem_ctx, fss_gs.sc_sets,
diff --git a/source4/torture/nbench/nbio.c b/source4/torture/nbench/nbio.c
index c9b369e..1de988e 100644
--- a/source4/torture/nbench/nbio.c
+++ b/source4/torture/nbench/nbio.c
@@ -521,7 +521,7 @@ static bool nb_do_createx(struct ftable *f,
 		f = talloc (NULL, struct ftable);
 		f->locks = NULL;
 		nb_set_createx_params(f, fname, create_options, create_disposition, handle);
-		DLIST_ADD_END(ftable, f, struct ftable *);
+		DLIST_ADD_END(ftable, f);
 	}
 
 	f->handle = handle;
@@ -653,7 +653,7 @@ static bool nb_do_lockx(bool relock, int handle, off_t offset, int size, NTSTATU
 		linfo = talloc (f, struct lock_info);
 		linfo->offset = offset;
 		linfo->size = size;
-		DLIST_ADD_END(f->locks, linfo, struct lock_info *);
+		DLIST_ADD_END(f->locks, linfo);
 	}
 
 	return true;
diff --git a/source4/torture/nbt/wins.c b/source4/torture/nbt/wins.c
index d0ae9cd..8c847b5 100644
--- a/source4/torture/nbt/wins.c
+++ b/source4/torture/nbt/wins.c
@@ -169,8 +169,7 @@ static bool nbt_test_wins_name(struct torture_context *tctx, const char *address
 				 * and not handle it as new request
 				 */
 				req->state = NBT_REQUEST_SEND;
-				DLIST_ADD_END(nbtsock->send_queue, req,
-					      struct nbt_name_request *);
+				DLIST_ADD_END(nbtsock->send_queue, req);
 				TEVENT_FD_WRITEABLE(nbtsock->fde);
 				break;
 			}
diff --git a/source4/torture/ndr/ndr.c b/source4/torture/ndr/ndr.c
index 4147c7d..dac550e 100644
--- a/source4/torture/ndr/ndr.c
+++ b/source4/torture/ndr/ndr.c
@@ -130,7 +130,7 @@ _PUBLIC_ struct torture_test *_torture_suite_add_ndr_pullpush_test(
 	test->fn = check_fn;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
@@ -226,7 +226,7 @@ _PUBLIC_ struct torture_test *_torture_suite_add_ndr_pull_inout_test(
 	test->fn = check_fn;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
diff --git a/source4/torture/rpc/spoolss_notify.c b/source4/torture/rpc/spoolss_notify.c
index 930a599..945e653 100644
--- a/source4/torture/rpc/spoolss_notify.c
+++ b/source4/torture/rpc/spoolss_notify.c
@@ -140,7 +140,7 @@ static NTSTATUS spoolss__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_
 	rp->opnum = opnum;
 	rp->r = talloc_reference(rp, r);
 
-	DLIST_ADD_END(received_packets, rp, struct received_packet *);
+	DLIST_ADD_END(received_packets, rp);
 
 	switch (opnum) {
 	case 58: {
diff --git a/source4/torture/smb2/smb2.c b/source4/torture/smb2/smb2.c
index 0124cf1..90029c7 100644
--- a/source4/torture/smb2/smb2.c
+++ b/source4/torture/smb2/smb2.c
@@ -74,7 +74,7 @@ struct torture_test *torture_suite_add_1smb2_test(struct torture_suite *suite,
 	test->fn = run;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
@@ -138,7 +138,7 @@ struct torture_test *torture_suite_add_2smb2_test(struct torture_suite *suite,
 	test->fn = run;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
diff --git a/source4/torture/util_smb.c b/source4/torture/util_smb.c
index 0520f27..32de753 100644
--- a/source4/torture/util_smb.c
+++ b/source4/torture/util_smb.c
@@ -783,7 +783,7 @@ _PUBLIC_ struct torture_test *torture_suite_add_smb_multi_test(
 	test->fn = run;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 
@@ -834,7 +834,7 @@ _PUBLIC_ struct torture_test *torture_suite_add_2smb_test(
 	test->fn = run;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 
@@ -878,7 +878,7 @@ _PUBLIC_ struct torture_test *torture_suite_add_1smb_test(
 	test->fn = run;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
diff --git a/source4/torture/vfs/vfs.c b/source4/torture/vfs/vfs.c
index 9b82387..f3ce447 100644
--- a/source4/torture/vfs/vfs.c
+++ b/source4/torture/vfs/vfs.c
@@ -94,7 +94,7 @@ struct torture_test *torture_suite_add_2ns_smb2_test(struct torture_suite *suite
 	test->fn = run;
 	test->dangerous = false;
 
-	DLIST_ADD_END(tcase->tests, test, struct torture_test *);
+	DLIST_ADD_END(tcase->tests, test);
 
 	return test;
 }
diff --git a/source4/wrepl_server/wrepl_server.c b/source4/wrepl_server/wrepl_server.c
index e28afc6..75a927a 100644
--- a/source4/wrepl_server/wrepl_server.c
+++ b/source4/wrepl_server/wrepl_server.c
@@ -192,7 +192,7 @@ NTSTATUS wreplsrv_load_partners(struct wreplsrv_service *service)
 			partner->address = address;
 			talloc_steal(partner, partner->address);
 
-			DLIST_ADD_END(service->partners, partner, struct wreplsrv_partner *);
+			DLIST_ADD_END(service->partners, partner);
 		}
 
 		partner->name			= ldb_msg_find_attr_as_string(res->msgs[i], "name", partner->address);
@@ -328,7 +328,7 @@ NTSTATUS wreplsrv_add_table(struct wreplsrv_service *service,
 
 		cur->partner		= wreplsrv_find_partner(service, wins_owner);
 
-		DLIST_ADD_END(table, cur, struct wreplsrv_owner *);
+		DLIST_ADD_END(table, cur);
 		*_table = table;
 	}
 
-- 
2.5.0


From 0f2566425074949ccf50af9647856739eb3da083 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 11:37:42 +0100
Subject: [PATCH 02/12] tevent: remove unneeded type argument from
 DLIST_ADD_END

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/tevent/tevent_immediate.c | 2 +-
 lib/tevent/tevent_queue.c     | 2 +-
 lib/tevent/tevent_util.h      | 5 ++---
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/lib/tevent/tevent_immediate.c b/lib/tevent/tevent_immediate.c
index 1ac293e..9ff5322 100644
--- a/lib/tevent/tevent_immediate.c
+++ b/lib/tevent/tevent_immediate.c
@@ -88,7 +88,7 @@ void tevent_common_schedule_immediate(struct tevent_immediate *im,
 	im->cancel_fn		= NULL;
 	im->additional_data	= NULL;
 
-	DLIST_ADD_END(ev->immediate_events, im, struct tevent_immediate *);
+	DLIST_ADD_END(ev->immediate_events, im);
 	talloc_set_destructor(im, tevent_common_immediate_destructor);
 
 	tevent_debug(ev, TEVENT_DEBUG_TRACE,
diff --git a/lib/tevent/tevent_queue.c b/lib/tevent/tevent_queue.c
index 35742e5..cefe91a 100644
--- a/lib/tevent/tevent_queue.c
+++ b/lib/tevent/tevent_queue.c
@@ -195,7 +195,7 @@ static struct tevent_queue_entry *tevent_queue_add_internal(
 		allow_direct = false;
 	}
 
-	DLIST_ADD_END(queue->list, e, struct tevent_queue_entry *);
+	DLIST_ADD_END(queue->list, e);
 	queue->length++;
 	talloc_set_destructor(e, tevent_queue_entry_destructor);
 
diff --git a/lib/tevent/tevent_util.h b/lib/tevent/tevent_util.h
index 6f91983..12b6de7 100644
--- a/lib/tevent/tevent_util.h
+++ b/lib/tevent/tevent_util.h
@@ -131,9 +131,8 @@ do { \
 
 /*
    add to the end of a list.
-   Note that 'type' is ignored
 */
-#define DLIST_ADD_END(list, p, type)			\
+#define DLIST_ADD_END(list, p) \
 do { \
 	if (!(list)) { \
 		DLIST_ADD(list, p); \
@@ -156,7 +155,7 @@ do { \
 #define DLIST_DEMOTE(list, p, type)			\
 do { \
 	DLIST_REMOVE(list, p); \
-	DLIST_ADD_END(list, p, NULL);		\
+	DLIST_ADD_END(list, p); \
 } while (0)
 
 /*
-- 
2.5.0


From 203460d46270b7f2886447d3f4ba6435c0bb415c Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 11:35:38 +0100
Subject: [PATCH 03/12] ldb: remove unneeded type arg from DLIST_ADD_END

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/ldb/common/ldb_match.c   | 2 +-
 lib/ldb/common/ldb_modules.c | 6 +++---
 lib/ldb/include/dlinklist.h  | 5 ++---
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/lib/ldb/common/ldb_match.c b/lib/ldb/common/ldb_match.c
index c4f5580..e83ad63 100644
--- a/lib/ldb/common/ldb_match.c
+++ b/lib/ldb/common/ldb_match.c
@@ -713,7 +713,7 @@ int ldb_register_extended_match_rule(struct ldb_context *ldb,
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 	entry->rule = rule;
-	DLIST_ADD_END(ldb->extended_match_rules, entry, struct ldb_extended_match_entry);
+	DLIST_ADD_END(ldb->extended_match_rules, entry);
 
 	return LDB_SUCCESS;
 }
diff --git a/lib/ldb/common/ldb_modules.c b/lib/ldb/common/ldb_modules.c
index 91412a6..2105966 100644
--- a/lib/ldb/common/ldb_modules.c
+++ b/lib/ldb/common/ldb_modules.c
@@ -162,7 +162,7 @@ int ldb_register_backend(const char *url_prefix, ldb_connect_fn connectfn, bool
 			talloc_free(be);
 			return LDB_ERR_OPERATIONS_ERROR;
 		}
-		DLIST_ADD_END(ldb_backends, be, struct backends_list_entry);
+		DLIST_ADD_END(ldb_backends, be);
 	}
 
 	be->ops->name = url_prefix;
@@ -240,7 +240,7 @@ int ldb_register_hook(ldb_hook_fn hook_fn)
 		return LDB_ERR_OPERATIONS_ERROR;
 	}
 	lc->hook_fn = hook_fn;
-	DLIST_ADD_END(ldb_hooks, lc, struct ldb_hooks);
+	DLIST_ADD_END(ldb_hooks, lc);
 	return LDB_SUCCESS;
 }
 
@@ -926,7 +926,7 @@ static int ldb_modules_load_path(const char *path, const char *version)
 	le->st_ino = st.st_ino;
 	le->st_dev = st.st_dev;
 
-	DLIST_ADD_END(loaded, le, struct loaded);
+	DLIST_ADD_END(loaded, le);
 
 	/* if it is a directory, recurse */
 	if (S_ISDIR(st.st_mode)) {
diff --git a/lib/ldb/include/dlinklist.h b/lib/ldb/include/dlinklist.h
index f640b0f..82fda19 100644
--- a/lib/ldb/include/dlinklist.h
+++ b/lib/ldb/include/dlinklist.h
@@ -135,9 +135,8 @@ do { \
 
 /*
    add to the end of a list.
-   Note that 'type' is ignored
 */
-#define DLIST_ADD_END(list, p, type)			\
+#define DLIST_ADD_END(list, p) \
 do { \
 	if (!(list)) { \
 		DLIST_ADD(list, p); \
@@ -160,7 +159,7 @@ do { \
 #define DLIST_DEMOTE(list, p, type)			\
 do { \
 	DLIST_REMOVE(list, p); \
-	DLIST_ADD_END(list, p, NULL);		\
+	DLIST_ADD_END(list, p); \
 } while (0)
 
 /*
-- 
2.5.0


From 6c1cdf5f7a992a533cc030da7c019c1e340369db Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 11:52:36 +0100
Subject: [PATCH 04/12] dlist: remove unneeded argument from DLIST_DEMOTE()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/util/dlinklist.h       | 3 +--
 lib/util/tests/dlinklist.c | 2 +-
 source3/lib/events.c       | 2 +-
 source3/smbd/posix_acls.c  | 8 ++++----
 4 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h
index 316ba10..f3528a3 100644
--- a/lib/util/dlinklist.h
+++ b/lib/util/dlinklist.h
@@ -150,9 +150,8 @@ do { \
 
 /*
    demote an element to the end of a list.
-   Note that 'type' is ignored
 */
-#define DLIST_DEMOTE(list, p, type)			\
+#define DLIST_DEMOTE(list, p) \
 do { \
 	DLIST_REMOVE(list, p); \
 	DLIST_ADD_END(list, p); \
diff --git a/lib/util/tests/dlinklist.c b/lib/util/tests/dlinklist.c
index 462f4a7..f743607 100644
--- a/lib/util/tests/dlinklist.c
+++ b/lib/util/tests/dlinklist.c
@@ -87,7 +87,7 @@ static bool torture_local_dlinklist_simple(struct torture_context *tctx)
 	torture_assert(tctx, el2->next->next == el, "3rd in list");
 
 	torture_comment(tctx, "check DLIST_DEMOTE\n");
-	DLIST_DEMOTE(l1, el, NULL);
+	DLIST_DEMOTE(l1, el);
 	torture_assert(tctx, el->next == NULL, "last in list");
 	torture_assert(tctx, el2->prev == el, "backlink from head");
 
diff --git a/source3/lib/events.c b/source3/lib/events.c
index 0bc56e4..2e862ca 100644
--- a/source3/lib/events.c
+++ b/source3/lib/events.c
@@ -253,7 +253,7 @@ bool run_events_poll(struct tevent_context *ev, int pollrtn,
 			flags |= TEVENT_FD_WRITE;
 		}
 		if (flags & fde->flags) {
-			DLIST_DEMOTE(ev->fd_events, fde, struct tevent_fd);
+			DLIST_DEMOTE(ev->fd_events, fde);
 			fde->handler(ev, fde, flags, fde->private_data);
 			return true;
 		}
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c
index 1f2380b..660c0e4 100644
--- a/source3/smbd/posix_acls.c
+++ b/source3/smbd/posix_acls.c
@@ -2319,7 +2319,7 @@ static void process_deny_list(connection_struct *conn, canon_ace **pp_ace_list )
 
 			curr_ace->attr = ALLOW_ACE;
 			curr_ace->perms = (mode_t)0;
-			DLIST_DEMOTE(ace_list, curr_ace, canon_ace *);
+			DLIST_DEMOTE(ace_list, curr_ace);
 			continue;
 		}
 
@@ -2344,7 +2344,7 @@ static void process_deny_list(connection_struct *conn, canon_ace **pp_ace_list )
 
 		curr_ace->attr = ALLOW_ACE;
 		curr_ace->perms = (new_perms & ~curr_ace->perms);
-		DLIST_DEMOTE(ace_list, curr_ace, canon_ace *);
+		DLIST_DEMOTE(ace_list, curr_ace);
 	}
 
 	/* Pass 3 above - deal with deny group entries. */
@@ -2391,7 +2391,7 @@ static void process_deny_list(connection_struct *conn, canon_ace **pp_ace_list )
 			curr_ace->perms = allow_everyone_p->perms & ~curr_ace->perms;
 		else
 			curr_ace->perms = (mode_t)0;
-		DLIST_DEMOTE(ace_list, curr_ace, canon_ace *);
+		DLIST_DEMOTE(ace_list, curr_ace);
 	}
 
 	/* Doing this fourth pass allows Windows semantics to be layered
@@ -2589,7 +2589,7 @@ static void arrange_posix_perms(const char *filename, canon_ace **pp_list_head)
 	}
 
 	if (other_ace) {
-		DLIST_DEMOTE(l_head, other_ace, canon_ace *);
+		DLIST_DEMOTE(l_head, other_ace);
 	}
 
 	/* We have probably changed the head of the list. */
-- 
2.5.0


From 676529fa9fa3d113e69b46ca4ea273a0a72601d1 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 11:53:11 +0100
Subject: [PATCH 05/12] ldb: remove uneeded type argument from DLIST_DEMOTE()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/ldb/include/dlinklist.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/ldb/include/dlinklist.h b/lib/ldb/include/dlinklist.h
index 82fda19..34d4db9 100644
--- a/lib/ldb/include/dlinklist.h
+++ b/lib/ldb/include/dlinklist.h
@@ -154,9 +154,8 @@ do { \
 
 /*
    demote an element to the end of a list.
-   Note that 'type' is ignored
 */
-#define DLIST_DEMOTE(list, p, type)			\
+#define DLIST_DEMOTE(list, p) \
 do { \
 	DLIST_REMOVE(list, p); \
 	DLIST_ADD_END(list, p); \
-- 
2.5.0


From d9eda89aafd9da29cea32ae2d0fe78710a260859 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 11:53:30 +0100
Subject: [PATCH 06/12] tevent: remove uneeded type argument from
 DLIST_DEMOTE()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/tevent/tevent_poll.c   | 2 +-
 lib/tevent/tevent_select.c | 2 +-
 lib/tevent/tevent_util.h   | 3 +--
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/lib/tevent/tevent_poll.c b/lib/tevent/tevent_poll.c
index 9b1781f..e1c305d 100644
--- a/lib/tevent/tevent_poll.c
+++ b/lib/tevent/tevent_poll.c
@@ -601,7 +601,7 @@ static int poll_event_loop_poll(struct tevent_context *ev,
 		 */
 		flags &= fde->flags;
 		if (flags != 0) {
-			DLIST_DEMOTE(ev->fd_events, fde, struct tevent_fd);
+			DLIST_DEMOTE(ev->fd_events, fde);
 			fde->handler(ev, fde, flags, fde->private_data);
 			return 0;
 		}
diff --git a/lib/tevent/tevent_select.c b/lib/tevent/tevent_select.c
index 40a4dc0..ec7565d 100644
--- a/lib/tevent/tevent_select.c
+++ b/lib/tevent/tevent_select.c
@@ -219,7 +219,7 @@ static int select_event_loop_select(struct select_event_context *select_ev, stru
 				flags |= TEVENT_FD_WRITE;
 			}
 			if (flags) {
-				DLIST_DEMOTE(select_ev->ev->fd_events, fde, struct tevent_fd);
+				DLIST_DEMOTE(select_ev->ev->fd_events, fde);
 				fde->handler(select_ev->ev, fde, flags, fde->private_data);
 				break;
 			}
diff --git a/lib/tevent/tevent_util.h b/lib/tevent/tevent_util.h
index 12b6de7..04cd09e 100644
--- a/lib/tevent/tevent_util.h
+++ b/lib/tevent/tevent_util.h
@@ -150,9 +150,8 @@ do { \
 
 /*
    demote an element to the end of a list.
-   Note that 'type' is ignored
 */
-#define DLIST_DEMOTE(list, p, type)			\
+#define DLIST_DEMOTE(list, p) \
 do { \
 	DLIST_REMOVE(list, p); \
 	DLIST_ADD_END(list, p); \
-- 
2.5.0


From 384fd5a3d55450cd80fe335c3ce3f4a5c47806ec Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 12:02:26 +0100
Subject: [PATCH 07/12] ldb: remove unneeded argument type from
 DLIST_CONCATENATE()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/ldb/include/dlinklist.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/ldb/include/dlinklist.h b/lib/ldb/include/dlinklist.h
index 34d4db9..1f5cbd0 100644
--- a/lib/ldb/include/dlinklist.h
+++ b/lib/ldb/include/dlinklist.h
@@ -164,9 +164,8 @@ do { \
 /*
    concatenate two lists - putting all elements of the 2nd list at the
    end of the first list.
-   Note that 'type' is ignored
 */
-#define DLIST_CONCATENATE(list1, list2, type)	\
+#define DLIST_CONCATENATE(list1, list2) \
 do { \
 	if (!(list1)) { \
 		(list1) = (list2); \
-- 
2.5.0


From 28135980ee3d4d17d7c20d8c9e3f52f424ad79fd Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 12:02:54 +0100
Subject: [PATCH 08/12] tevent: remove unneeded type argument from
 DLIST_CONCATENATE()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/tevent/tevent_util.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/tevent/tevent_util.h b/lib/tevent/tevent_util.h
index 04cd09e..b60f5b5 100644
--- a/lib/tevent/tevent_util.h
+++ b/lib/tevent/tevent_util.h
@@ -160,9 +160,8 @@ do { \
 /*
    concatenate two lists - putting all elements of the 2nd list at the
    end of the first list.
-   Note that 'type' is ignored
 */
-#define DLIST_CONCATENATE(list1, list2, type)	\
+#define DLIST_CONCATENATE(list1, list2) \
 do { \
 	if (!(list1)) { \
 		(list1) = (list2); \
-- 
2.5.0


From 71a4c7e3eba83e744a1f8cb0e66497116520c412 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 12:03:33 +0100
Subject: [PATCH 09/12] dlist: remove unneeded type argument from
 DLIST_CONCATENATE()

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/util/dlinklist.h       | 3 +--
 lib/util/tests/dlinklist.c | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h
index f3528a3..0d95ae4 100644
--- a/lib/util/dlinklist.h
+++ b/lib/util/dlinklist.h
@@ -160,9 +160,8 @@ do { \
 /*
    concatenate two lists - putting all elements of the 2nd list at the
    end of the first list.
-   Note that 'type' is ignored
 */
-#define DLIST_CONCATENATE(list1, list2, type)	\
+#define DLIST_CONCATENATE(list1, list2) \
 do { \
 	if (!(list1)) { \
 		(list1) = (list2); \
diff --git a/lib/util/tests/dlinklist.c b/lib/util/tests/dlinklist.c
index f743607..50adab3 100644
--- a/lib/util/tests/dlinklist.c
+++ b/lib/util/tests/dlinklist.c
@@ -100,7 +100,7 @@ static bool torture_local_dlinklist_simple(struct torture_context *tctx)
 	torture_assert_int_equal(tctx, i, 6, "should have 6 elements");
 
 	torture_comment(tctx, "check DLIST_CONCATENATE\n");
-	DLIST_CONCATENATE(l1, l2, NULL);
+	DLIST_CONCATENATE(l1, l2);
 	torture_comment(tctx, "count forward\n");
 	for (i=0,el=l1; el; el=el->next) i++;
 	torture_assert_int_equal(tctx, i, 12, "should have 12 elements");
-- 
2.5.0


From d5413e4f4b8213d34ba0228d709908217328e8ad Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 12:04:44 +0100
Subject: [PATCH 10/12] dlist: remove outdated comment about type argument

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/util/dlinklist.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h
index 0d95ae4..8a1b84d 100644
--- a/lib/util/dlinklist.h
+++ b/lib/util/dlinklist.h
@@ -53,10 +53,6 @@
   This allows us to find the tail of the list by using
   list_head->prev, which means we can add to the end of the list in
   O(1) time
-
-
-  Note that the 'type' arguments below are no longer needed, but
-  are kept for now to prevent an incompatible argument change
  */
 
 
-- 
2.5.0


From 374e2362fecdffc3c4f85d2bddfc249615d6cc90 Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 12:05:06 +0100
Subject: [PATCH 11/12] tevent: remove outdated comment about type argument in
 dlist

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/tevent/tevent_util.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/lib/tevent/tevent_util.h b/lib/tevent/tevent_util.h
index b60f5b5..e2cdbb8 100644
--- a/lib/tevent/tevent_util.h
+++ b/lib/tevent/tevent_util.h
@@ -53,10 +53,6 @@
   This allows us to find the tail of the list by using
   list_head->prev, which means we can add to the end of the list in
   O(1) time
-
-
-  Note that the 'type' arguments below are no longer needed, but
-  are kept for now to prevent an incompatible argument change
  */
 
 
-- 
2.5.0


From 5704703b726cd5fabcb8463ff179de245878a1ac Mon Sep 17 00:00:00 2001
From: Michael Adam <obnox at samba.org>
Date: Fri, 5 Feb 2016 12:05:26 +0100
Subject: [PATCH 12/12] ldb: remove outdated comment about type argument in
 dlist

Signed-off-by: Michael Adam <obnox at samba.org>
---
 lib/ldb/include/dlinklist.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/lib/ldb/include/dlinklist.h b/lib/ldb/include/dlinklist.h
index 1f5cbd0..ef01aec 100644
--- a/lib/ldb/include/dlinklist.h
+++ b/lib/ldb/include/dlinklist.h
@@ -57,10 +57,6 @@
   This allows us to find the tail of the list by using
   list_head->prev, which means we can add to the end of the list in
   O(1) time
-
-
-  Note that the 'type' arguments below are no longer needed, but
-  are kept for now to prevent an incompatible argument change
  */
 
 
-- 
2.5.0

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20160205/298dca93/signature-0001.sig>


More information about the samba-technical mailing list