/* mhfree.c */
void free_content(CT);
extern CT *cts;
-void freects_done(int) NORETURN;
+void freects_done();
/*
** static prototypes
FILE *fp;
int ontty = 0;
- done=freects_done;
+ if (atexit(freects_done) != 0) {
+ adios(NULL, "atexit failed");
+ }
setlocale(LC_ALL, "");
invo_name = mhbasename(argv[0]);
switch (smatch(++cp, switches)) {
case AMBIGSW:
ambigsw(cp, switches);
- done(1);
+ /* sysexits.h EX_USAGE */
+ exit(1);
case UNKWNSW:
adios(NULL, "-%s unknown", cp);
case HELPSW:
snprintf(buf, sizeof(buf), "%s [+folder] %s[switches]", invo_name, mode==SHOW ? "[msgs] " : "");
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 == '-')
/* 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);
+ /* sysexits.h EX_USAGE */
+ exit(1);
/*
** Set the SELECT_UNSEEN bit for all the SELECTED messages,
}
if (!*cts)
- done(1);
+ exit(1);
userrs = 1;
SIGNAL(SIGQUIT, quitser);
context_save(); /* save the context file */
}
- done(0);
- return 1;
+ return 0;
}
fflush(stderr);
}
- done(1);
+ exit(1);
/* NOTREACHED */
}