* uip/mhlistsbr.c, uip/mhlsbr.c, uip/picksbr.c: cast
[mmh] / uip / mhshow.c
index 4755171..2b406d4 100644 (file)
@@ -82,7 +82,6 @@ static struct swit switches[] = {
 
 
 /* mhparse.c */
-extern int checksw;
 extern char *tmp;      /* directory to place temp files */
 
 /* mhcachesbr.c */
@@ -109,9 +108,6 @@ extern int userrs;
 int debugsw = 0;
 int verbosw = 0;
 
-/* The list of top-level contents to display */
-CT *cts = NULL;
-
 #define        quitser pipeser
 
 /* mhparse.c */
@@ -128,12 +124,13 @@ void show_all_messages (CT *);
 
 /* mhfree.c */
 void free_content (CT);
+extern CT *cts;
+void freects_done (int) NORETURN;
 
 /*
  * static prototypes
  */
 static RETSIGTYPE pipeser (int);
-static int freectp_done (int);
 
 
 int
@@ -148,7 +145,7 @@ main (int argc, char **argv)
     CT ct, *ctp;
     FILE *fp;
 
-    done=freectp_done;
+    done=freects_done;
 
 #ifdef LOCALE
     setlocale(LC_ALL, "");
@@ -455,7 +452,8 @@ do_cache:
        context_save ();                  /* save the context file  */
     }
 
-    return done (0);
+    done (0);
+    return 1;
 }
 
 
@@ -472,17 +470,3 @@ pipeser (int i)
     done (1);
     /* NOTREACHED */
 }
-
-
-static int
-freectp_done (int status)
-{
-    CT *ctp;
-
-    if ((ctp = cts))
-       for (; *ctp; ctp++)
-           free_content (*ctp);
-
-    exit (status);
-    return 1;  /* dead code to satisfy the compiler */
-}