[PATCH] clean type argument from dlinklist

Jeremy Allison jra at samba.org
Sat Feb 6 16:44:02 UTC 2016


On Fri, Feb 05, 2016 at 12:12:42PM +0100, Michael Adam wrote:
> 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.

Nice cleanup Michael, thanks ! Good to see
we finally get to these pending tasks, even
if it takes 6 years :-).

Reviewed-by: Me.

Pushed !

> 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
> 






More information about the samba-technical mailing list