Replace done with exit at uip
[mmh] / uip / mhtest.c
index 1c1684f..a1718db 100644 (file)
@@ -75,7 +75,7 @@ void flush_errors(void);
 /* mhfree.c */
 void free_content(CT);
 extern CT *cts;
-void freects_done(int) NORETURN;
+void freects_done();
 
 /*
 ** static prototypes
@@ -95,7 +95,7 @@ main(int argc, char **argv)
        struct msgs *mp = NULL;
        CT ct, *ctp;
 
-       done=freects_done;
+       atexit(freects_done);
 
        setlocale(LC_ALL, "");
        invo_name = mhbasename(argv[0]);
@@ -114,17 +114,17 @@ main(int argc, char **argv)
                        switch (smatch(++cp, switches)) {
                        case AMBIGSW:
                                ambigsw(cp, switches);
-                               done(1);
+                               exit(1);
                        case UNKWNSW:
                                adios(NULL, "-%s unknown", cp);
 
                        case HELPSW:
                                snprintf(buf, sizeof(buf), "%s [+folder] [msgs] [switches]", invo_name);
                                print_help(buf, switches, 1);
-                               done(1);
+                               exit(0);
                        case VERSIONSW:
                                print_version(invo_name);
-                               done(1);
+                               exit(0);
 
                        case PARTSW:
                                if (!(cp = *argp++) || *cp == '-')
@@ -233,7 +233,7 @@ main(int argc, char **argv)
                /* parse all the message ranges/sequences and set SELECTED */
                for (msgnum = 0; msgnum < msgs.size; msgnum++)
                        if (!m_convert(mp, msgs.msgs[msgnum]))
-                               done(1);
+                               exit(1);
                seq_setprev(mp);  /* set the previous-sequence */
 
                if (!(cts = (CT *) calloc((size_t) (mp->numsel + 1),
@@ -253,7 +253,7 @@ main(int argc, char **argv)
        }
 
        if (!*cts)
-               done(1);
+               exit(1);
 
        userrs = 1;
        SIGNAL(SIGQUIT, quitser);
@@ -294,8 +294,7 @@ main(int argc, char **argv)
                context_save();  /* save the context file  */
        }
 
-       done(0);
-       return 1;
+       return 0;
 }
 
 
@@ -324,6 +323,6 @@ pipeser(int i)
                fflush(stderr);
        }
 
-       done(1);
+       exit(1);
        /* NOTREACHED */
 }