Simplify user table closing.
authorAndre Noll <maan@systemlinux.org>
Sat, 8 Nov 2008 17:58:01 +0000 (18:58 +0100)
committerAndre Noll <maan@systemlinux.org>
Sat, 8 Nov 2008 17:58:01 +0000 (18:58 +0100)
No need for an extra function for freeing the hash table.

adu.c
user.c
user.h

diff --git a/adu.c b/adu.c
index 657adb2..a586ade 100644 (file)
--- a/adu.c
+++ b/adu.c
@@ -119,7 +119,6 @@ void close_all_tables(void)
 {
        close_dir_table();
        close_user_tables();
-       free_hash_table();
 }
 
 static void signal_handler(int s)
diff --git a/user.c b/user.c
index 1f7e04a..2b9fb20 100644 (file)
--- a/user.c
+++ b/user.c
@@ -298,12 +298,6 @@ void create_hash_table(unsigned bits)
                sizeof(struct user_info));
 }
 
-void free_hash_table(void)
-{
-       free(uid_hash_table);
-       uid_hash_table = NULL;
-}
-
 static int close_user_table(struct user_info *ui, __a_unused void *data)
 {
        int ret;
@@ -328,6 +322,8 @@ static int close_user_table(struct user_info *ui, __a_unused void *data)
 void close_user_tables(void)
 {
        for_each_admissible_user(close_user_table, NULL);
+       free(uid_hash_table);
+       uid_hash_table = NULL;
 }
 
 /*
diff --git a/user.h b/user.h
index 0eba5bb..31f3a62 100644 (file)
--- a/user.h
+++ b/user.h
@@ -45,7 +45,6 @@ int write_uid_file(void);
 
 void create_hash_table(unsigned bits);
 void sort_hash_table(int (*comp)(const void *, const void *));
-void free_hash_table(void);
 
 int for_each_admissible_user(int (*func)(struct user_info *, void *),
                void *data);