* complete copyright information.
*/
-#include <h/mh.h>
-#include <h/addrsbr.h>
-#include <h/fmt_scan.h>
-#include <h/utils.h>
-#include <sys/file.h> /* 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 <sys/file.h>
+#include "replsbr.h"
+
+short ccto = -1;
+short cccc = -1;
+short ccme = -1;
+short querysw = 0;
static int dftype=0;
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",
goto finished;
default:
- adios (NULL, "m_getfld2() returned %d", state);
+ die("m_getfld2() returned %d", state);
}
}
/* 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
}
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
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;
}
/* 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);
}
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 */
if (mp->m_gname) {
CHECKMEM (mp->m_gname);
CPY (mp->m_gname);
- isgroup++;
+ isgroup = true;
}
sp = adrformat (mp);
CHECKMEM (sp);
*dst = '\0';
last_dst = dst;
- return (buf);
+ return buf;
}
{
char *cp;
- nodupcheck = 1;
+ nodupcheck = true;
cp = replformataddr(orig, str);
- nodupcheck = 0;
+ nodupcheck = false;
return cp;
}
case OK:
dup2 (fileno (in), fileno (stdin));
dup2 (fileno (out), fileno (stdout));
- closefds (3);
/*
* We're not allocating the memory for the extra arguments,
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) {
/*
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);