* src/remove.c (AD_ensure_initialized): New function.
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 25 Nov 2006 10:08:20 +0000 (11:08 +0100)
committerJim Meyering <jim@meyering.net>
Sun, 26 Nov 2006 16:40:16 +0000 (17:40 +0100)
after statement.

Signed-off-by: Paul Eggert <eggert@cs.ucla.edu>
ChangeLog
src/remove.c

index 90c930f..6596156 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,9 @@
        Update the caller in remove_dir.
        (AD_pop_and_chdir): Return prev_dir rather than storing through
        a pointer argument.  All uses changed.
+       (AD_ensure_initialized): New function.
+       (AD_mark_helper): Use it, to avoid the need for declaration
+       after statement.
 
 2006-11-25  Jim Meyering  <jim@meyering.net>
 
index 03b7837..f6fee66 100644 (file)
@@ -540,10 +540,9 @@ AD_pop_and_chdir (DIR **dirp, Dirstack_state *ds)
   return prev_dir;
 }
 
-/* Initialize *HT if it is NULL.
-   Insert FILENAME into HT.  */
-static void
-AD_mark_helper (Hash_table **ht, char *filename)
+/* Initialize *HT if it is NULL.  Return *HT.  */
+static Hash_table *
+AD_ensure_initialized (Hash_table **ht)
 {
   if (*ht == NULL)
     {
@@ -552,7 +551,16 @@ AD_mark_helper (Hash_table **ht, char *filename)
       if (*ht == NULL)
        xalloc_die ();
     }
-  void *ent = hash_insert (*ht, filename);
+
+  return *ht;
+}
+
+/* Initialize *HT if it is NULL.
+   Insert FILENAME into HT.  */
+static void
+AD_mark_helper (Hash_table **ht, char *filename)
+{
+  void *ent = hash_insert (AD_ensure_initialized (ht), filename);
   if (ent == NULL)
     xalloc_die ();
   else
@@ -560,7 +568,6 @@ AD_mark_helper (Hash_table **ht, char *filename)
       if (ent != filename)
        free (filename);
     }
-
 }
 
 /* Mark FILENAME (in current directory) as unremovable.  */