summaryrefslogtreecommitdiff
path: root/source3/nmbd/nmbd_serverlistdb.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2010-02-06 12:38:24 +1100
committerJeremy Allison <jra@samba.org>2010-02-10 15:36:37 -0800
commitece7089918e37f407f84d13df9d816d5a6d90f2e (patch)
tree3c6919817b656fa3a0f9a99063e14fbb9d55d7b8 /source3/nmbd/nmbd_serverlistdb.c
parenta5d2fb752cdb7e27a4949635b6486834d9fac313 (diff)
downloadsamba-ece7089918e37f407f84d13df9d816d5a6d90f2e.tar.gz
samba-ece7089918e37f407f84d13df9d816d5a6d90f2e.tar.bz2
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.c35
1 files changed, 3 insertions, 32 deletions
diff --git a/source3/nmbd/nmbd_serverlistdb.c b/source3/nmbd/nmbd_serverlistdb.c
index 0728f29c32..f3fba51f4a 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;