From a8348c2c48d45f991995707fa22a2fa441aaa907 Mon Sep 17 00:00:00 2001 From: Chuck Lever Date: Thu, 16 Sep 2010 13:48:38 -0400 Subject: [PATCH] mountd: Add mountlist_freeall() I'm about to add a second bit of logic that needs to free all mountlist records, so introduce a helper for freeing them. Signed-off-by: Chuck Lever Signed-off-by: Steve Dickson --- utils/mountd/rmtab.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/utils/mountd/rmtab.c b/utils/mountd/rmtab.c index b2c04e7..854d519 100644 --- a/utils/mountd/rmtab.c +++ b/utils/mountd/rmtab.c @@ -173,6 +173,18 @@ out_unlock: xfunlock(lockid); } +static void +mountlist_freeall(mountlist list) +{ + while (list != NULL) { + mountlist m = list; + list = m->ml_next; + xfree(m->ml_hostname); + xfree(m->ml_directory); + xfree(m); + } +} + mountlist mountlist_list(void) { @@ -194,12 +206,7 @@ mountlist_list(void) return NULL; } if (stb.st_mtime != last_mtime) { - while (mlist) { - mlist = (m = mlist)->ml_next; - xfree(m->ml_hostname); - xfree(m->ml_directory); - xfree(m); - } + mountlist_freeall(mlist); last_mtime = stb.st_mtime; setrmtabent("r"); -- 2.39.2