diff options
author | Jeremy Allison <jra@samba.org> | 2008-01-02 11:56:07 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-01-02 11:56:07 -0800 |
commit | 0090ec236d16a2da7b5432083b079034c642a2fc (patch) | |
tree | 30f0f58893b5098854c36917f98f787fa4d964b2 /source3/nmbd/nmbd_responserecordsdb.c | |
parent | a5d2449fe1f25d74ac3a3d4eae66c43cd8dcbde9 (diff) | |
download | samba-0090ec236d16a2da7b5432083b079034c642a2fc.tar.gz samba-0090ec236d16a2da7b5432083b079034c642a2fc.tar.bz2 samba-0090ec236d16a2da7b5432083b079034c642a2fc.zip |
Attempt to fix bug #3617. Mix of patches from Volker and
myself. Use standard dlinklist macros.
Jeremy.
(This used to be commit 1b06ee69f6b737c1d6e7b29f8ae9621e6eb07d27)
Diffstat (limited to 'source3/nmbd/nmbd_responserecordsdb.c')
-rw-r--r-- | source3/nmbd/nmbd_responserecordsdb.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/source3/nmbd/nmbd_responserecordsdb.c b/source3/nmbd/nmbd_responserecordsdb.c index 22a038ef2e..6498ce04cf 100644 --- a/source3/nmbd/nmbd_responserecordsdb.c +++ b/source3/nmbd/nmbd_responserecordsdb.c @@ -31,26 +31,12 @@ int num_response_packets = 0; static void add_response_record(struct subnet_record *subrec, struct response_record *rrec) { - struct response_record *rrec2; - num_response_packets++; /* count of total number of packets still around */ 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)); - if (!subrec->responselist) { - subrec->responselist = rrec; - rrec->prev = NULL; - rrec->next = NULL; - return; - } - - for (rrec2 = subrec->responselist; rrec2->next; rrec2 = rrec2->next) - ; - - rrec2->next = rrec; - rrec->next = NULL; - rrec->prev = rrec2; + DLIST_ADD_END(subrec->responselist, rrec, struct response_record *); } /*************************************************************************** @@ -60,13 +46,7 @@ static void add_response_record(struct subnet_record *subrec, void remove_response_record(struct subnet_record *subrec, struct response_record *rrec) { - if (rrec->prev) - rrec->prev->next = rrec->next; - if (rrec->next) - rrec->next->prev = rrec->prev; - - if (subrec->responselist == rrec) - subrec->responselist = rrec->next; + DLIST_REMOVE(subrec->responselist, rrec); if(rrec->userdata) { if(rrec->userdata->free_fn) { |