diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-02-06 12:38:24 +1100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2010-02-10 15:36:37 -0800 |
commit | ece7089918e37f407f84d13df9d816d5a6d90f2e (patch) | |
tree | 3c6919817b656fa3a0f9a99063e14fbb9d55d7b8 /source3/nmbd/nmbd_serverlistdb.c | |
parent | a5d2fb752cdb7e27a4949635b6486834d9fac313 (diff) | |
download | samba-ece7089918e37f407f84d13df9d816d5a6d90f2e.tar.gz samba-ece7089918e37f407f84d13df9d816d5a6d90f2e.tar.xz samba-ece7089918e37f407f84d13df9d816d5a6d90f2e.zip |
s3-nmbd: update nmbd to use new DLIST_ macros
(cherry picked from commit 4d23d777bc6d4fad20d0f3084fe658635812bee9)
Diffstat (limited to 'source3/nmbd/nmbd_serverlistdb.c')
-rw-r--r-- | source3/nmbd/nmbd_serverlistdb.c | 35 |
1 files changed, 3 insertions, 32 deletions
diff --git a/source3/nmbd/nmbd_serverlistdb.c b/source3/nmbd/nmbd_serverlistdb.c index 0728f29c32d..f3fba51f4a8 100644 --- a/source3/nmbd/nmbd_serverlistdb.c +++ b/source3/nmbd/nmbd_serverlistdb.c @@ -36,15 +36,7 @@ void remove_all_servers(struct work_record *work) for (servrec = work->serverlist; servrec; servrec = nexts) { DEBUG(7,("remove_all_servers: Removing server %s\n",servrec->serv.name)); nexts = servrec->next; - - if (servrec->prev) - servrec->prev->next = servrec->next; - if (servrec->next) - servrec->next->prev = servrec->prev; - - if (work->serverlist == servrec) - work->serverlist = servrec->next; - + DLIST_REMOVE(work->serverlist, servrec); ZERO_STRUCTP(servrec); SAFE_FREE(servrec); } @@ -59,21 +51,7 @@ void remove_all_servers(struct work_record *work) static void add_server_to_workgroup(struct work_record *work, struct server_record *servrec) { - struct server_record *servrec2; - - if (!work->serverlist) { - work->serverlist = servrec; - servrec->prev = NULL; - servrec->next = NULL; - return; - } - - for (servrec2 = work->serverlist; servrec2->next; servrec2 = servrec2->next) - ; - - servrec2->next = servrec; - servrec->next = NULL; - servrec->prev = servrec2; + DLIST_ADD_END(work->serverlist, servrec, struct server_record *); work->subnet->work_changed = True; } @@ -99,14 +77,7 @@ struct server_record *find_server_in_workgroup(struct work_record *work, const c void remove_server_from_workgroup(struct work_record *work, struct server_record *servrec) { - if (servrec->prev) - servrec->prev->next = servrec->next; - if (servrec->next) - servrec->next->prev = servrec->prev; - - if (work->serverlist == servrec) - work->serverlist = servrec->next; - + DLIST_REMOVE(work->serverlist, servrec); ZERO_STRUCTP(servrec); SAFE_FREE(servrec); work->subnet->work_changed = True; |