X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/35ef9d158396dbf013a862dd8f830db64909826b..ef0725fd97369e801a56febfdb7a6ec2eaff73c8:/uip/replsbr.c diff --git a/uip/replsbr.c b/uip/replsbr.c index 2444aa3c..ed5e94ed 100644 --- a/uip/replsbr.c +++ b/uip/replsbr.c @@ -5,16 +5,29 @@ * complete copyright information. */ -#include -#include -#include -#include -#include /* L_SET */ - -extern short ccto; /* from repl.c */ -extern short cccc; -extern short ccme; -extern short querysw; +#include "h/mh.h" +#include "sbr/fmt_new.h" +#include "sbr/m_name.h" +#include "sbr/m_gmprot.h" +#include "sbr/m_getfld.h" +#include "sbr/read_switch.h" +#include "sbr/concat.h" +#include "sbr/uprf.h" +#include "sbr/escape_addresses.h" +#include "sbr/pidstatus.h" +#include "sbr/arglist.h" +#include "sbr/error.h" +#include "h/addrsbr.h" +#include "h/fmt_scan.h" +#include "h/done.h" +#include "h/utils.h" +#include +#include "replsbr.h" + +short ccto = -1; +short cccc = -1; +short ccme = -1; +short querysw = 0; static int dftype=0; @@ -22,7 +35,7 @@ static char *badaddrs = NULL; static char *dfhost = NULL; static struct mailname mq; -static int nodupcheck = 0; /* If set, no check for duplicates */ +static bool nodupcheck; /* If set, no check for duplicates */ static char *addrcomps[] = { "from", @@ -148,7 +161,7 @@ replout (FILE *inb, char *msg, char *drft, struct msgs *mp, int outputlinelen, goto finished; default: - adios (NULL, "m_getfld2() returned %d", state); + die("m_getfld2() returned %d", state); } } @@ -161,7 +174,7 @@ finished: /* set up the "fcc" pseudo-component */ cptr = fmt_findcomp ("fcc"); if (cptr) { - mh_xfree(cptr->c_text); + free(cptr->c_text); if (fcc) cptr->c_text = mh_xstrdup(fcc); else @@ -169,7 +182,7 @@ finished: } cptr = fmt_findcomp ("user"); if (cptr) { - mh_xfree(cptr->c_text); + free(cptr->c_text); if ((cp = getenv("USER"))) cptr->c_text = mh_xstrdup(cp); else @@ -280,8 +293,8 @@ static char * replformataddr (char *orig, char *str) { int len; - char baddr[BUFSIZ], error[BUFSIZ]; - int isgroup; + char baddr[BUFSIZ+6], error[BUFSIZ]; + bool isgroup; char *dst; char *cp; char *sp; @@ -311,7 +324,7 @@ replformataddr (char *orig, char *str) } /* concatenate all the new addresses onto 'buf' */ - for (isgroup = 0; (cp = getname (fixed_str)); ) { + for (isgroup = false; (cp = getname (fixed_str)); ) { if ((mp = getm (cp, dfhost, dftype, error, sizeof(error))) == NULL) { snprintf (baddr, sizeof(baddr), "\t%s -- %s\n", cp, error); badaddrs = add (baddr, badaddrs); @@ -319,7 +332,7 @@ replformataddr (char *orig, char *str) } if (isgroup && (mp->m_gname || !mp->m_ingrp)) { *dst++ = ';'; - isgroup = 0; + isgroup = false; } if (insert (mp)) { /* if we get here we're going to add an address */ @@ -330,7 +343,7 @@ replformataddr (char *orig, char *str) if (mp->m_gname) { CHECKMEM (mp->m_gname); CPY (mp->m_gname); - isgroup++; + isgroup = true; } sp = adrformat (mp); CHECKMEM (sp); @@ -345,7 +358,7 @@ replformataddr (char *orig, char *str) *dst = '\0'; last_dst = dst; - return (buf); + return buf; } @@ -366,9 +379,9 @@ replconcataddr(char *orig, char *str) { char *cp; - nodupcheck = 1; + nodupcheck = true; cp = replformataddr(orig, str); - nodupcheck = 0; + nodupcheck = false; return cp; } @@ -438,7 +451,6 @@ replfilter (FILE *in, FILE *out, char *filter, int fmtproc) case OK: dup2 (fileno (in), fileno (stdin)); dup2 (fileno (out), fileno (stdout)); - closefds (3); /* * We're not allocating the memory for the extra arguments, @@ -470,22 +482,23 @@ replfilter (FILE *in, FILE *out, char *filter, int fmtproc) write(2, "\n", 1) < 0) { advise ("stderr", "write"); } - _exit (-1); + _exit(1); default: if (pidXwait (pid, mhl)) done (1); fseek (out, 0L, SEEK_END); + arglist_free(mhl, arglist); break; } } -static -char * -fix_addresses (char *str) { +static char * +fix_addresses (char *str) +{ char *fixed_str = NULL; - int fixed_address = 0; + bool fixed_address = false; if (str) { /* @@ -562,7 +575,7 @@ fix_addresses (char *str) { adr = getname (new_adr); if (adr != NULL && (mp = getm (adr, dfhost, dftype, NULL, 0)) != NULL) { - fixed_address = 1; + fixed_address = true; mnfree (mp); } free (angle_addr);