X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Frcvdist.c;h=7ee47fd92e0ce748b48f75bba9ec99716b43287d;hp=fd6f81c203c9e88a99b476db54dd2da3772e7115;hb=d8916ff5d389de5ab225cd6f40aeda1b285d0f28;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68 diff --git a/uip/rcvdist.c b/uip/rcvdist.c index fd6f81c..7ee47fd 100644 --- a/uip/rcvdist.c +++ b/uip/rcvdist.c @@ -14,6 +14,7 @@ #include #include #include +#include static struct swit switches[] = { #define FORMSW 0 @@ -33,7 +34,7 @@ static char tmpfil[BUFSIZ] = ""; * prototypes */ static void rcvdistout (FILE *, char *, char *); -int done (int); +static void unlink_done (int) NORETURN; int @@ -45,6 +46,8 @@ main (int argc, char **argv) char **argp, **arguments, *vec[MAXARGS]; register FILE *fp; + done=unlink_done; + #ifdef LOCALE setlocale(LC_ALL, ""); #endif @@ -181,8 +184,7 @@ rcvdistout (FILE *inb, char *form, char *addrs) *--savecomp = 0; for (i = ncomps; i--;) - if (!(*nxtbuf++ = malloc (SBUFSIZ))) - adios (NULL, "unable to allocate component buffer"); + *nxtbuf++ = mh_xmalloc (SBUFSIZ); nxtbuf = compbuffers; tmpbuf = *nxtbuf++; @@ -202,7 +204,7 @@ rcvdistout (FILE *inb, char *form, char *addrs) case FLDPLUS: if ((cptr = wantcomp[CHASH (name)])) do { - if (!strcasecmp (name, cptr->c_name)) { + if (!mh_strcasecmp (name, cptr->c_name)) { char_read += msg_count; if (!cptr->c_text) { cptr->c_text = tmpbuf; @@ -248,7 +250,7 @@ rcvdistout (FILE *inb, char *form, char *addrs) finished: ; i = format_len + char_read + 256; - scanl = malloc ((size_t) i + 2); + scanl = mh_xmalloc ((size_t) i + 2); dat[0] = dat[1] = dat[2] = dat[4] = 0; dat[3] = outputlinelen; fmt_scan (fmt, scanl, i, dat); @@ -268,8 +270,8 @@ finished: ; } -int -done (int status) +static void +unlink_done (int status) { if (backup[0]) unlink (backup); @@ -279,5 +281,4 @@ done (int status) unlink (tmpfil); exit (status ? RCV_MBX : RCV_MOK); - return 1; /* dead code to satisfy the compiler */ }