diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-09-18 07:52:16 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:51:59 -0500 |
commit | 258a465e20e007a30043220367d17ecfc87b4f90 (patch) | |
tree | e85402425f7b199bb87fa95537eeb084861b4066 | |
parent | 8155621d54c7385a60274b30572770bd4f17e504 (diff) | |
download | samba-258a465e20e007a30043220367d17ecfc87b4f90.tar.gz samba-258a465e20e007a30043220367d17ecfc87b4f90.tar.bz2 samba-258a465e20e007a30043220367d17ecfc87b4f90.zip |
r18605: sync dlinklist.h with samba4, that means DLIST_ADD_END()
and DLIST_DEMOTE() now take the type of the tmp pointer
not the tmp pointer itself anymore.
metze
(This used to be commit 2f58645b7094e81dff3734f11aa183ea2ab53d2d)
-rw-r--r-- | source3/auth/auth.c | 3 | ||||
-rw-r--r-- | source3/include/dlinklist.h | 60 | ||||
-rw-r--r-- | source3/lib/smbldap.c | 3 | ||||
-rw-r--r-- | source3/libsmb/cliconnect.c | 2 | ||||
-rw-r--r-- | source3/nmbd/nmbd_browserdb.c | 3 | ||||
-rw-r--r-- | source3/nsswitch/winbindd_dual.c | 4 | ||||
-rw-r--r-- | source3/printing/notify.c | 2 | ||||
-rw-r--r-- | source3/registry/regfio.c | 3 | ||||
-rw-r--r-- | source3/smbd/blocking.c | 4 | ||||
-rw-r--r-- | source3/smbd/nttrans.c | 3 | ||||
-rw-r--r-- | source3/smbd/posix_acls.c | 16 | ||||
-rw-r--r-- | source3/smbd/process.c | 3 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 10 | ||||
-rw-r--r-- | source3/tdb/common/tdbutil.c | 3 |
14 files changed, 64 insertions, 55 deletions
diff --git a/source3/auth/auth.c b/source3/auth/auth.c index 139ba5482b..0b868b265e 100644 --- a/source3/auth/auth.c +++ b/source3/auth/auth.c @@ -432,7 +432,6 @@ static NTSTATUS make_auth_context_text_list(struct auth_context **auth_context, { auth_methods *list = NULL; auth_methods *t = NULL; - auth_methods *tmp; NTSTATUS nt_status; if (!text_list) { @@ -445,7 +444,7 @@ static NTSTATUS make_auth_context_text_list(struct auth_context **auth_context, for (;*text_list; text_list++) { if (load_auth_module(*auth_context, *text_list, &t)) { - DLIST_ADD_END(list, t, tmp); + DLIST_ADD_END(list, t, auth_methods *); } } diff --git a/source3/include/dlinklist.h b/source3/include/dlinklist.h index daec7640e4..f267e77ea6 100644 --- a/source3/include/dlinklist.h +++ b/source3/include/dlinklist.h @@ -21,10 +21,13 @@ /* To use these macros you must have a structure containing a next and prev pointer */ +#ifndef _DLINKLIST_H +#define _DLINKLIST_H + /* hook into the front of the list */ #define DLIST_ADD(list, p) \ -{ \ +do { \ if (!(list)) { \ (list) = (p); \ (p)->next = (p)->prev = NULL; \ @@ -34,11 +37,11 @@ (p)->prev = NULL; \ (list) = (p); \ }\ -} +} while (0) /* remove an element from a list - element doesn't have to be in list. */ #define DLIST_REMOVE(list, p) \ -{ \ +do { \ if ((p) == (list)) { \ (list) = (p)->next; \ if (list) (list)->prev = NULL; \ @@ -47,28 +50,29 @@ if ((p)->next) (p)->next->prev = (p)->prev; \ } \ if ((p) != (list)) (p)->next = (p)->prev = NULL; \ -} +} while (0) /* promote an element to the top of the list */ #define DLIST_PROMOTE(list, p) \ -{ \ - DLIST_REMOVE(list, p) \ - DLIST_ADD(list, p) \ -} +do { \ + DLIST_REMOVE(list, p); \ + DLIST_ADD(list, p); \ +} while (0) /* hook into the end of the list - needs a tmp pointer */ -#define DLIST_ADD_END(list, p, tmp) \ -{ \ +#define DLIST_ADD_END(list, p, type) \ +do { \ if (!(list)) { \ (list) = (p); \ (p)->next = (p)->prev = NULL; \ } else { \ - for ((tmp) = (list); (tmp)->next; (tmp) = (tmp)->next) ; \ - (tmp)->next = (p); \ + type tmp; \ + for (tmp = (list); tmp->next; tmp = tmp->next) ; \ + tmp->next = (p); \ (p)->next = NULL; \ - (p)->prev = (tmp); \ + (p)->prev = tmp; \ } \ -} +} while (0) /* insert 'p' after the given element 'el' in a list. If el is NULL then this is the same as a DLIST_ADD() */ @@ -84,9 +88,27 @@ do { \ }\ } while (0) -/* demote an element to the top of the list, needs a tmp pointer */ +/* demote an element to the end of the list, needs a tmp pointer */ #define DLIST_DEMOTE(list, p, tmp) \ -{ \ - DLIST_REMOVE(list, p) \ - DLIST_ADD_END(list, p, tmp) \ -} +do { \ + DLIST_REMOVE(list, p); \ + DLIST_ADD_END(list, p, tmp); \ +} while (0) + +/* concatenate two lists - putting all elements of the 2nd list at the + end of the first list */ +#define DLIST_CONCATENATE(list1, list2, type) \ +do { \ + if (!(list1)) { \ + (list1) = (list2); \ + } else { \ + type tmp; \ + for (tmp = (list1); tmp->next; tmp = tmp->next) ; \ + tmp->next = (list2); \ + if (list2) { \ + (list2)->prev = tmp; \ + } \ + } \ +} while (0) + +#endif /* _DLINKLIST_H */ diff --git a/source3/lib/smbldap.c b/source3/lib/smbldap.c index b46ab4d750..85dd5fa3d6 100644 --- a/source3/lib/smbldap.c +++ b/source3/lib/smbldap.c @@ -572,7 +572,6 @@ static void smbldap_store_state(LDAP *ld, struct smbldap_state *smbldap_state) { struct smbldap_state *tmp_ldap_state; struct smbldap_state_lookup *t; - struct smbldap_state_lookup *tmp; if ((tmp_ldap_state = smbldap_find_state(ld))) { SMB_ASSERT(tmp_ldap_state == smbldap_state); @@ -582,7 +581,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, tmp); + DLIST_ADD_END(smbldap_state_lookup_list, t, struct smbldap_state_lookup *); t->ld = ld; t->smbldap_state = smbldap_state; } diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c index 0e179416dc..cdc22293cb 100644 --- a/source3/libsmb/cliconnect.c +++ b/source3/libsmb/cliconnect.c @@ -1423,7 +1423,7 @@ NTSTATUS cli_start_connection(struct cli_state **output_cli, return NT_STATUS_UNSUCCESSFUL; } - cli_set_timeout(cli, 10000); /* 10 seconds. */ + cli_set_timeout(cli, 30000); /* 10 seconds. */ if (dest_ip) ip = *dest_ip; diff --git a/source3/nmbd/nmbd_browserdb.c b/source3/nmbd/nmbd_browserdb.c index e27e483702..b75028be0d 100644 --- a/source3/nmbd/nmbd_browserdb.c +++ b/source3/nmbd/nmbd_browserdb.c @@ -86,7 +86,6 @@ struct browse_cache_record *create_browser_in_lmb_cache( const char *work_name, struct in_addr ip ) { struct browse_cache_record *browc; - struct browse_cache_record *tmp_browc; time_t now = time( NULL ); browc = SMB_MALLOC_P(struct browse_cache_record); @@ -115,7 +114,7 @@ struct browse_cache_record *create_browser_in_lmb_cache( const char *work_name, browc->ip = ip; - DLIST_ADD_END(lmb_browserlist, browc, tmp_browc); + DLIST_ADD_END(lmb_browserlist, browc, struct browse_cache_record *); if( DEBUGLVL( 3 ) ) { Debug1( "nmbd_browserdb:create_browser_in_lmb_cache()\n" ); diff --git a/source3/nsswitch/winbindd_dual.c b/source3/nsswitch/winbindd_dual.c index e2e0db8570..128c468dd3 100644 --- a/source3/nsswitch/winbindd_dual.c +++ b/source3/nsswitch/winbindd_dual.c @@ -108,7 +108,7 @@ void async_request(TALLOC_CTX *mem_ctx, struct winbindd_child *child, void (*continuation)(void *private_data, BOOL success), void *private_data) { - struct winbindd_async_request *state, *tmp; + struct winbindd_async_request *state; SMB_ASSERT(continuation != NULL); @@ -127,7 +127,7 @@ void async_request(TALLOC_CTX *mem_ctx, struct winbindd_child *child, state->continuation = continuation; state->private_data = private_data; - DLIST_ADD_END(child->requests, state, tmp); + DLIST_ADD_END(child->requests, state, struct winbindd_async_request *); schedule_async_request(child); diff --git a/source3/printing/notify.c b/source3/printing/notify.c index 916ff213cc..7d5b702781 100644 --- a/source3/printing/notify.c +++ b/source3/printing/notify.c @@ -295,7 +295,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, tmp_ptr); + DLIST_ADD_END(notify_queue_head, pnqueue, struct notify_queue *); num_messages++; } diff --git a/source3/registry/regfio.c b/source3/registry/regfio.c index 768255a9fa..f2e95da889 100644 --- a/source3/registry/regfio.c +++ b/source3/registry/regfio.c @@ -1748,7 +1748,6 @@ static int hashrec_cmp( REGF_HASH_REC *h1, REGF_HASH_REC *h2 ) if ( sec_desc ) { uint32 sk_size = sk_record_data_size( sec_desc ); REGF_HBIN *sk_hbin; - REGF_SK_REC *tmp = NULL; /* search for it in the existing list of sd's */ @@ -1777,7 +1776,7 @@ static int hashrec_cmp( REGF_HASH_REC *h1, REGF_HASH_REC *h2 ) /* size value must be self-inclusive */ nk->sec_desc->size = sec_desc_size(sec_desc) + sizeof(uint32); - DLIST_ADD_END( file->sec_desc_list, nk->sec_desc, tmp ); + DLIST_ADD_END( file->sec_desc_list, nk->sec_desc, REGF_SK_REC *); /* 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/smbd/blocking.c b/source3/smbd/blocking.c index 2f89759ffd..f489a8e96b 100644 --- a/source3/smbd/blocking.c +++ b/source3/smbd/blocking.c @@ -86,7 +86,7 @@ BOOL push_blocking_lock_request( struct byte_range_lock *br_lck, SMB_BIG_UINT offset, SMB_BIG_UINT count) { static BOOL set_lock_msg; - blocking_lock_record *blr, *tmp; + blocking_lock_record *blr; NTSTATUS status; if(in_chained_smb() ) { @@ -148,7 +148,7 @@ BOOL push_blocking_lock_request( struct byte_range_lock *br_lck, return False; } - DLIST_ADD_END(blocking_lock_queue, blr, tmp); + DLIST_ADD_END(blocking_lock_queue, blr, blocking_lock_record *); /* Ensure we'll receive messages when this is unlocked. */ if (!set_lock_msg) { diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index 4dcc807c30..c5e48a6324 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -1049,14 +1049,13 @@ static struct ea_list *read_nttrans_ea_list(TALLOC_CTX *ctx, const char *pdata, while (offset + 4 <= data_size) { size_t next_offset = IVAL(pdata,offset); - struct ea_list *tmp; struct ea_list *eal = read_ea_list_entry(ctx, pdata + offset + 4, data_size - offset - 4, NULL); if (!eal) { return NULL; } - DLIST_ADD_END(ea_list_head, eal, tmp); + DLIST_ADD_END(ea_list_head, eal, struct ea_list *); if (next_offset == 0) { break; } diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index a1903ef4bb..18ef187f38 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -1241,7 +1241,6 @@ static BOOL create_canon_ace_lists(files_struct *fsp, SMB_STRUCT_STAT *pst, BOOL all_aces_are_inherit_only = (fsp->is_directory ? True : False); canon_ace *file_ace = NULL; canon_ace *dir_ace = NULL; - canon_ace *tmp_ace = NULL; canon_ace *current_ace = NULL; BOOL got_dir_allow = False; BOOL got_file_allow = False; @@ -1429,7 +1428,7 @@ static BOOL create_canon_ace_lists(files_struct *fsp, SMB_STRUCT_STAT *pst, if ((psa->flags & (SEC_ACE_FLAG_OBJECT_INHERIT|SEC_ACE_FLAG_CONTAINER_INHERIT)) == (SEC_ACE_FLAG_OBJECT_INHERIT|SEC_ACE_FLAG_CONTAINER_INHERIT)) { - DLIST_ADD_END(dir_ace, current_ace, tmp_ace); + DLIST_ADD_END(dir_ace, current_ace, canon_ace *); /* * Note if this was an allow ace. We can't process @@ -1487,7 +1486,7 @@ Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name )); */ if (current_ace && !(psa->flags & SEC_ACE_FLAG_INHERIT_ONLY)) { - DLIST_ADD_END(file_ace, current_ace, tmp_ace); + DLIST_ADD_END(file_ace, current_ace, canon_ace *); /* * Note if this was an allow ace. We can't process @@ -1734,7 +1733,6 @@ static void process_deny_list( canon_ace **pp_ace_list ) for (curr_ace = ace_list; curr_ace; curr_ace = curr_ace_next) { mode_t new_perms = (mode_t)0; canon_ace *allow_ace_p; - canon_ace *tmp_ace; curr_ace_next = curr_ace->next; /* So we can't lose the link. */ @@ -1753,7 +1751,7 @@ static void process_deny_list( canon_ace **pp_ace_list ) curr_ace->attr = ALLOW_ACE; curr_ace->perms = (mode_t)0; - DLIST_DEMOTE(ace_list, curr_ace, tmp_ace); + DLIST_DEMOTE(ace_list, curr_ace, canon_ace *); continue; } @@ -1778,13 +1776,12 @@ static void process_deny_list( canon_ace **pp_ace_list ) curr_ace->attr = ALLOW_ACE; curr_ace->perms = (new_perms & ~curr_ace->perms); - DLIST_DEMOTE(ace_list, curr_ace, tmp_ace); + DLIST_DEMOTE(ace_list, curr_ace, canon_ace *); } /* Pass 3 above - deal with deny group entries. */ for (curr_ace = ace_list; curr_ace; curr_ace = curr_ace_next) { - canon_ace *tmp_ace; canon_ace *allow_ace_p; canon_ace *allow_everyone_p = NULL; @@ -1826,8 +1823,7 @@ static void process_deny_list( 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, tmp_ace); - + DLIST_DEMOTE(ace_list, curr_ace, canon_ace *); } /* Doing this fourth pass allows Windows semantics to be layered @@ -2067,7 +2063,7 @@ static void arrange_posix_perms( char *filename, canon_ace **pp_list_head) } if (other_ace) { - DLIST_DEMOTE(list_head, other_ace, ace); + DLIST_DEMOTE(list_head, other_ace, canon_ace *); } /* We have probably changed the head of the list. */ diff --git a/source3/smbd/process.c b/source3/smbd/process.c index a202c1fa87..cf61e16a15 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -75,7 +75,6 @@ static BOOL push_queued_message(char *buf, int msg_len, struct timeval end_time, char *private_data, size_t private_len) { - struct pending_message_list *tmp_msg; struct pending_message_list *msg; msg = TALLOC_ZERO_P(NULL, struct pending_message_list); @@ -105,7 +104,7 @@ static BOOL push_queued_message(char *buf, int msg_len, } } - DLIST_ADD_END(deferred_open_queue, msg, tmp_msg); + DLIST_ADD_END(deferred_open_queue, msg, struct pending_message_list *); DEBUG(10,("push_message: pushed message length %u on " "deferred_open_queue\n", (unsigned int)msg_len)); diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index adbba92ee7..f2f0150f6f 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -197,7 +197,7 @@ static struct ea_list *get_ea_list_from_file(TALLOC_CTX *mem_ctx, connection_str if (sizeret) { for (p = ea_namelist; p - ea_namelist < sizeret; p += strlen(p) + 1) { - struct ea_list *listp, *tmp; + struct ea_list *listp; if (strnequal(p, "system.", 7) || samba_private_attr_name(p)) continue; @@ -218,7 +218,7 @@ static struct ea_list *get_ea_list_from_file(TALLOC_CTX *mem_ctx, connection_str (unsigned int)*pea_total_len, dos_ea_name, (unsigned int)listp->ea.value.length )); } - DLIST_ADD_END(ea_list_head, listp, tmp); + DLIST_ADD_END(ea_list_head, listp, struct ea_list *); } /* Add on 4 for total length. */ if (*pea_total_len) { @@ -396,7 +396,6 @@ static struct ea_list *read_ea_name_list(TALLOC_CTX *ctx, const char *pdata, siz size_t offset = 0; while (offset + 2 < data_size) { - struct ea_list *tmp; struct ea_list *eal = TALLOC_ZERO_P(ctx, struct ea_list); unsigned int namelen = CVAL(pdata,offset); @@ -418,7 +417,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, tmp); + DLIST_ADD_END(ea_list_head, eal, struct ea_list *); DEBUG(10,("read_ea_name_list: read ea name %s\n", eal->ea.name)); } @@ -493,14 +492,13 @@ static struct ea_list *read_ea_list(TALLOC_CTX *ctx, const char *pdata, size_t d size_t bytes_used = 0; while (offset < data_size) { - struct ea_list *tmp; struct ea_list *eal = read_ea_list_entry(ctx, pdata + offset, data_size - offset, &bytes_used); if (!eal) { return NULL; } - DLIST_ADD_END(ea_list_head, eal, tmp); + DLIST_ADD_END(ea_list_head, eal, struct ea_list *); offset += bytes_used; } diff --git a/source3/tdb/common/tdbutil.c b/source3/tdb/common/tdbutil.c index b946f856aa..45e1891324 100644 --- a/source3/tdb/common/tdbutil.c +++ b/source3/tdb/common/tdbutil.c @@ -720,7 +720,6 @@ TDB_LIST_NODE *tdb_search_keys(TDB_CONTEXT *tdb, const char* pattern) TDB_DATA key, next; TDB_LIST_NODE *list = NULL; TDB_LIST_NODE *rec = NULL; - TDB_LIST_NODE *tmp = NULL; for (key = tdb_firstkey(tdb); key.dptr; key = next) { /* duplicate key string to ensure null-termination */ @@ -741,7 +740,7 @@ TDB_LIST_NODE *tdb_search_keys(TDB_CONTEXT *tdb, const char* pattern) rec->node_key = key; - DLIST_ADD_END(list, rec, tmp); + DLIST_ADD_END(list, rec, TDB_LIST_NODE *); DEBUG(18, ("checking %s matched pattern %s\n", key_str, pattern)); } else { |