Return type of (*done)() changed to void. default_done() replaced by
[mmh] / uip / mhn.c
index 809568c..6955476 100644 (file)
--- a/uip/mhn.c
+++ b/uip/mhn.c
@@ -157,9 +157,6 @@ extern int userrs;
 int debugsw = 0;
 int verbosw = 0;
 
-/* The list of top-level contents to display */
-CT *cts = NULL;
-
 /*
  * variables for mhbuild (mhn -build)
  */
@@ -200,6 +197,8 @@ void cache_all_messages (CT *);
 
 /* mhfree.c */
 void free_content (CT);
+extern CT *cts;
+void freects_done (int);
 
 /*
  * static prototypes
@@ -220,6 +219,8 @@ main (int argc, char **argv)
     CT ct, *ctp;
     FILE *fp;
 
+    done=freects_done;
+
 #ifdef LOCALE
     setlocale(LC_ALL, "");
 #endif
@@ -685,7 +686,8 @@ do_cache:
        context_save ();                  /* save the context file  */
     }
 
-    return done (0);
+    done (0);
+    return 1;
 }
 
 
@@ -702,17 +704,3 @@ pipeser (int i)
     done (1);
     /* NOTREACHED */
 }
-
-
-int
-done (int status)
-{
-    CT *ctp;
-
-    if ((ctp = cts))
-       for (; *ctp; ctp++)
-           free_content (*ctp);
-
-    exit (status);
-    return 1;  /* dead code to satisfy the compiler */
-}