summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
31da9fe)
A free(3) that didn't handle NULL is now long past.
33 files changed:
/* Duplicate a NUL-terminated string, exit on failure. */
char *mh_xstrdup(const char *src) MALLOC;
/* Duplicate a NUL-terminated string, exit on failure. */
char *mh_xstrdup(const char *src) MALLOC;
-/* Call free(3), if ptr isn't NULL. */
-void mh_xfree(void *ptr);
-
/* Set p to point to newly allocated, uninitialised, memory. */
#define NEW(p) ((p) = mh_xmalloc(sizeof *(p)))
/* Set p to point to newly allocated, uninitialised, memory. */
#define NEW(p) ((p) = mh_xmalloc(sizeof *(p)))
- mh_xfree(mp->m_text);
- mh_xfree(mp->m_pers);
- mh_xfree(mp->m_mbox);
- mh_xfree(mp->m_host);
- mh_xfree(mp->m_path);
- mh_xfree(mp->m_gname);
- mh_xfree(mp->m_note);
+ free(mp->m_text);
+ free(mp->m_pers);
+ free(mp->m_mbox);
+ free(mp->m_host);
+ free(mp->m_path);
+ free(mp->m_gname);
+ free(mp->m_note);
if (argvarray != NULL) {
for (i = 0; argvarray[i] != NULL; i++)
if (argvarray != NULL) {
for (i = 0; argvarray[i] != NULL; i++)
else
m_defs = np->n_next;
free (np->n_name);
else
m_defs = np->n_next;
free (np->n_name);
free(np);
ctxflags |= CTXMOD;
return 0;
free(np);
ctxflags |= CTXMOD;
return 0;
if (strcmp (value, np->n_field)) {
if (!np->n_context)
inform("bug: context_replace(key=\"%s\",value=\"%s\"), continuing...", key, value);
if (strcmp (value, np->n_field)) {
if (!np->n_context)
inform("bug: context_replace(key=\"%s\",value=\"%s\"), continuing...", key, value);
np->n_field = mh_xstrdup(value);
ctxflags |= CTXMOD;
}
np->n_field = mh_xstrdup(value);
ctxflags |= CTXMOD;
}
void
nmh_credentials_free(nmh_creds_t creds)
{
void
nmh_credentials_free(nmh_creds_t creds)
{
- mh_xfree(creds->host);
- mh_xfree(creds->user);
+ free(creds->host);
+ free(creds->user);
if (creds->pass) {
memset(creds->pass, 0, strlen(creds->pass));
if (creds->pass) {
memset(creds->pass, 0, strlen(creds->pass));
- mh_xfree(tmpbuf);
- mh_xfree(output);
+ free(tmpbuf);
+ free(output);
for (i = 0; i < DIM(wantcomp); i++)
for (cm = wantcomp[i]; cm; cm = cm->c_next) {
for (i = 0; i < DIM(wantcomp); i++)
for (cm = wantcomp[i]; cm; cm = cm->c_next) {
{
if (--cm->c_refcount <= 0) {
/* Shouldn't ever be NULL, but just in case ... */
{
if (--cm->c_refcount <= 0) {
/* Shouldn't ever be NULL, but just in case ... */
- mh_xfree(cm->c_name);
- mh_xfree(cm->c_text);
+ free(cm->c_name);
+ free(cm->c_text);
if (cm->c_type & CT_DATE)
free(cm->c_tws);
if (cm->c_type & CT_ADDR && cm->c_mn && cm->c_mn != &fmt_mnull)
if (cm->c_type & CT_DATE)
free(cm->c_tws);
if (cm->c_type & CT_ADDR && cm->c_mn && cm->c_mn != &fmt_mnull)
struct stat st;
FILE *fp;
struct stat st;
FILE *fp;
if (form) {
if ((fp = fopen (etcpath (form), "r")) == NULL)
if (form) {
if ((fp = fopen (etcpath (form), "r")) == NULL)
- mh_xfree(mp->foldpath);
/* free the sequence names */
for (i = 0; i < svector_size (mp->msgattrs); i++)
/* free the sequence names */
for (i = 0; i < svector_size (mp->msgattrs); i++)
if (mp->seqhandle)
lkfclosedata (mp->seqhandle, mp->seqname);
if (mp->seqhandle)
lkfclosedata (mp->seqhandle, mp->seqname);
bvector_free (mp->attrstats);
free (mp); /* free main folder structure */
bvector_free (mp->attrstats);
free (mp); /* free main folder structure */
char *bp;
struct adrx *adrxp = &adrxs2;
char *bp;
struct adrx *adrxp = &adrxs2;
- mh_xfree(pers);
- mh_xfree(mbox);
- mh_xfree(host);
- mh_xfree(routepath);
- mh_xfree(grp);
- mh_xfree(note);
+ free(pers);
+ free(mbox);
+ free(host);
+ free(routepath);
+ free(grp);
+ free(note);
pers = mbox = host = routepath = grp = note = NULL;
err[0] = 0;
pers = mbox = host = routepath = grp = note = NULL;
err[0] = 0;
}
/* FALLTHRU */
case LX_COMA:
}
/* FALLTHRU */
case LX_COMA:
void
netsec_shutdown(netsec_context *nsc)
{
void
netsec_shutdown(netsec_context *nsc)
{
- mh_xfree(nsc->ns_userid);
- mh_xfree(nsc->ns_hostname);
- mh_xfree(nsc->ns_inbuffer);
- mh_xfree(nsc->ns_outbuffer);
- mh_xfree(nsc->sasl_mech);
- mh_xfree(nsc->sasl_chosen_mech);
+ free(nsc->ns_userid);
+ free(nsc->ns_hostname);
+ free(nsc->ns_inbuffer);
+ free(nsc->ns_outbuffer);
+ free(nsc->sasl_mech);
+ free(nsc->sasl_chosen_mech);
- mh_xfree(nsc->oauth_service);
+ free(nsc->oauth_service);
#endif /* OAUTH_SERVICE */
#ifdef CYRUS_SASL
if (nsc->sasl_conn)
sasl_dispose(&nsc->sasl_conn);
#endif /* OAUTH_SERVICE */
#ifdef CYRUS_SASL
if (nsc->sasl_conn)
sasl_dispose(&nsc->sasl_conn);
- mh_xfree(nsc->sasl_cbs);
if (nsc->sasl_creds)
nmh_credentials_free(nsc->sasl_creds);
if (nsc->sasl_secret) {
if (nsc->sasl_creds)
nmh_credentials_free(nsc->sasl_creds);
if (nsc->sasl_secret) {
}
free(nsc->sasl_secret);
}
}
free(nsc->sasl_secret);
}
- mh_xfree(nsc->sasl_tmpbuf);
+ free(nsc->sasl_tmpbuf);
#endif /* CYRUS_SASL */
#ifdef TLS_SUPPORT
if (nsc->ssl_io)
#endif /* CYRUS_SASL */
#ifdef TLS_SUPPORT
if (nsc->ssl_io)
rc = sasl_client_step(nsc->sasl_conn, (char *) outbuf, outbuflen, NULL,
(const char **) &saslbuf, &saslbuflen);
rc = sasl_client_step(nsc->sasl_conn, (char *) outbuf, outbuflen, NULL,
(const char **) &saslbuf, &saslbuflen);
if (rc != SASL_OK && rc != SASL_CONTINUE) {
netsec_err(errstr, "SASL client negotiation failed: %s",
if (rc != SASL_OK && rc != SASL_CONTINUE) {
netsec_err(errstr, "SASL client negotiation failed: %s",
/* Copy POSIX behaviour, coping with non-POSIX systems. */
if (size == 0) {
/* Copy POSIX behaviour, coping with non-POSIX systems. */
if (size == 0) {
return mh_xmalloc(1); /* Get a unique pointer. */
}
if (!ptr)
return mh_xmalloc(1); /* Get a unique pointer. */
}
if (!ptr)
-/* Call free(3), if ptr isn't NULL. */
-void mh_xfree(void *ptr)
-{
- if (ptr)
- free(ptr); /* Some very old platforms can't cope with NULL. */
-}
-
/*
* Return the present working directory, if the current directory does not
* exist, or is too long, make / the pwd.
/*
* Return the present working directory, if the current directory does not
* exist, or is too long, make / the pwd.
for (ap = brkstring(dp = mh_xstrdup(cp), " ", "\n"); ap && *ap; ap++)
if ((i = alias (*ap)) != AK_OK)
adios (NULL, "aliasing error in %s - %s", *ap, akerror (i));
for (ap = brkstring(dp = mh_xstrdup(cp), " ", "\n"); ap && *ap; ap++)
if ((i = alias (*ap)) != AK_OK)
adios (NULL, "aliasing error in %s - %s", *ap, akerror (i));
print_aka (vp ? vp : s, list, 0);
print_aka (vp ? vp : s, list, 0);
cptr = fmt_findcomp ("text");
if (cptr) {
cptr = fmt_findcomp ("text");
if (cptr) {
- mh_xfree(cptr->c_text);
cptr->c_text = p->pq_text;
p->pq_text = NULL;
}
cptr = fmt_findcomp ("error");
if (cptr) {
cptr->c_text = p->pq_text;
p->pq_text = NULL;
}
cptr = fmt_findcomp ("error");
if (cptr) {
- mh_xfree(cptr->c_text);
cptr->c_text = p->pq_error;
p->pq_error = NULL;
}
cptr->c_text = p->pq_error;
p->pq_error = NULL;
}
fputs (charstring_buffer (scanl), stdout);
charstring_free (scanl);
fputs (charstring_buffer (scanl), stdout);
charstring_free (scanl);
- mh_xfree(p->pq_text);
- mh_xfree(p->pq_error);
+ free(p->pq_text);
+ free(p->pq_error);
q = p->pq_next;
free(p);
}
q = p->pq_next;
free(p);
}
if (*cp == '@')
cp = dp = path(cp + 1, TSUBCWF);
fcc = addlist(fcc, cp);
if (*cp == '@')
cp = dp = path(cp + 1, TSUBCWF);
fcc = addlist(fcc, cp);
cptr = fmt_findcomp ("text");
if (cptr) {
cptr = fmt_findcomp ("text");
if (cptr) {
- mh_xfree(cptr->c_text);
cptr->c_text = mh_xstrdup(date);
}
fmt_scan (fmt, scanl, length, dat, NULL);
cptr->c_text = mh_xstrdup(date);
}
fmt_scan (fmt, scanl, length, dat, NULL);
for (p = pq.pq_next; p; p = q) {
c = fmt_findcomp("text");
if (c) {
for (p = pq.pq_next; p; p = q) {
c = fmt_findcomp("text");
if (c) {
c->c_text = p->pq_text;
p->pq_text = NULL;
}
c = fmt_findcomp("error");
if (c) {
c->c_text = p->pq_text;
p->pq_text = NULL;
}
c = fmt_findcomp("error");
if (c) {
c->c_text = p->pq_error;
p->pq_error = NULL;
}
c->c_text = p->pq_error;
p->pq_error = NULL;
}
fputs(charstring_buffer(buffer), stdout);
mlistfree();
fputs(charstring_buffer(buffer), stdout);
mlistfree();
- mh_xfree(p->pq_text);
- mh_xfree(p->pq_error);
+ free(p->pq_text);
+ free(p->pq_error);
q = p->pq_next;
free(p);
}
q = p->pq_next;
free(p);
}
ivector_push_back (seqnum, seq_getnum(mp, *ap));
num_unseen_seq = i;
ivector_push_back (seqnum, seq_getnum(mp, *ap));
num_unseen_seq = i;
for (i = 0; i < comps->size; i += 2) {
c = fmt_findcomp(comps->msgs[i]);
if (c) {
for (i = 0; i < comps->size; i += 2) {
c = fmt_findcomp(comps->msgs[i]);
if (c) {
c->c_text = getcpy(comps->msgs[i + 1]);
}
}
c->c_text = getcpy(comps->msgs[i + 1]);
}
}
for (i = 0; i < text->size; i++) {
if (c != NULL) {
for (i = 0; i < text->size; i++) {
if (c != NULL) {
c->c_text = getcpy(text->msgs[i]);
}
c->c_text = getcpy(text->msgs[i]);
}
*/
static char msgbuf[NMH_BUFSIZ];
*/
static char msgbuf[NMH_BUFSIZ];
-#define COMPFREE(c) mh_xfree(c->c_text)
+#define COMPFREE(c) free(c->c_text)
/*
* A list of components we treat as addresses
/*
* A list of components we treat as addresses
np = output_params(len, ct->c_dispo_first, NULL, 0);
vp = add(np, vp);
vp = add("\n", vp);
np = output_params(len, ct->c_dispo_first, NULL, 0);
vp = add(np, vp);
vp = add("\n", vp);
add_header (ct, mh_xstrdup(DISPO_FIELD), vp);
}
add_header (ct, mh_xstrdup(DISPO_FIELD), vp);
}
for (pm = ct->c_ctinfo.ci_first_pm; pm; pm = pm->pm_next) {
if (strcasecmp(pm->pm_name, "name") == 0) {
for (pm = ct->c_ctinfo.ci_first_pm; pm; pm = pm->pm_next) {
if (strcasecmp(pm->pm_name, "name") == 0) {
- mh_xfree(pm->pm_value);
pm->pm_value = mh_xstrdup(simplename);
break;
}
pm->pm_value = mh_xstrdup(simplename);
break;
}
free (cts);
if (fx.fixtypes != NULL) { svector_free (fx.fixtypes); }
free (cts);
if (fx.fixtypes != NULL) { svector_free (fx.fixtypes); }
fprintf (fpout, "%s:%s%s\n", np, new_ctline,
FENDNULL(new_params));
free(new_ctline);
fprintf (fpout, "%s:%s%s\n", np, new_ctline,
FENDNULL(new_params));
free(new_ctline);
if (ct->c_cefile.ce_file && ct->c_cefile.ce_unlink)
(void) m_unlink (ct->c_cefile.ce_file);
if (ct->c_cefile.ce_file && ct->c_cefile.ce_unlink)
(void) m_unlink (ct->c_cefile.ce_file);
- mh_xfree(ct->c_cefile.ce_file);
+ free(ct->c_cefile.ce_file);
ct->c_cefile.ce_file = stripped_content_file;
ct->c_cefile.ce_unlink = 1;
ct->c_cefile.ce_file = stripped_content_file;
ct->c_cefile.ce_unlink = 1;
- mh_xfree(ct->c_partno);
- mh_xfree(ct->c_vrsn);
- mh_xfree(ct->c_ctline);
+ free(ct->c_partno);
+ free(ct->c_vrsn);
+ free(ct->c_ctline);
ct->c_partno = ct->c_vrsn = ct->c_ctline = NULL;
free_ctinfo (ct);
ct->c_partno = ct->c_vrsn = ct->c_ctline = NULL;
free_ctinfo (ct);
- mh_xfree(ct->c_showproc);
- mh_xfree(ct->c_termproc);
- mh_xfree(ct->c_storeproc);
+ free(ct->c_showproc);
+ free(ct->c_termproc);
+ free(ct->c_storeproc);
ct->c_showproc = ct->c_termproc = ct->c_storeproc = NULL;
ct->c_showproc = ct->c_termproc = ct->c_storeproc = NULL;
- mh_xfree(ct->c_celine);
ct->c_celine = NULL;
/* free structures for content encodings */
free_encoding (ct, 1);
ct->c_celine = NULL;
/* free structures for content encodings */
free_encoding (ct, 1);
- mh_xfree(ct->c_id);
- mh_xfree(ct->c_descr);
- mh_xfree(ct->c_dispo);
- mh_xfree(ct->c_dispo_type);
+ free(ct->c_id);
+ free(ct->c_descr);
+ free(ct->c_dispo);
+ free(ct->c_dispo_type);
ct->c_id = ct->c_descr = ct->c_dispo = ct->c_dispo_type = NULL;
free_pmlist (&ct->c_dispo_first);
ct->c_id = ct->c_descr = ct->c_dispo = ct->c_dispo_type = NULL;
free_pmlist (&ct->c_dispo_first);
- mh_xfree(ct->c_storage);
- mh_xfree(ct->c_folder);
+ free(ct->c_storage);
+ free(ct->c_folder);
ct->c_storage = ct->c_folder = NULL;
free (ct);
ct->c_storage = ct->c_folder = NULL;
free (ct);
CI ci;
ci = &ct->c_ctinfo;
CI ci;
ci = &ct->c_ctinfo;
- mh_xfree(ci->ci_type);
- mh_xfree(ci->ci_subtype);
+ free(ci->ci_type);
+ free(ci->ci_subtype);
ci->ci_type = ci->ci_subtype = NULL;
free_pmlist(&ci->ci_first_pm);
ci->ci_type = ci->ci_subtype = NULL;
free_pmlist(&ci->ci_first_pm);
- mh_xfree(ci->ci_comment);
- mh_xfree(ci->ci_magic);
+ free(ci->ci_comment);
+ free(ci->ci_magic);
ci->ci_comment = ci->ci_magic = NULL;
}
ci->ci_comment = ci->ci_magic = NULL;
}
if (!(m = (struct multipart *) ct->c_ctparams))
return;
if (!(m = (struct multipart *) ct->c_ctparams))
return;
- mh_xfree(m->mp_start);
- mh_xfree(m->mp_stop);
+ free(m->mp_start);
+ free(m->mp_stop);
free (m->mp_content_before);
free (m->mp_content_after);
free (m->mp_content_before);
free (m->mp_content_after);
if (!(p = (struct partial *) ct->c_ctparams))
return;
if (!(p = (struct partial *) ct->c_ctparams))
return;
- mh_xfree(p->pm_partid);
free(p);
ct->c_ctparams = NULL;
free(p);
ct->c_ctparams = NULL;
return;
free_content (e->eb_content);
return;
free_content (e->eb_content);
- mh_xfree(e->eb_body);
- mh_xfree(e->eb_url);
+ free(e->eb_body);
+ free(e->eb_url);
free(e);
ct->c_ctparams = NULL;
}
free(e);
ct->c_ctparams = NULL;
}
PM pm = *p, pm2;
while (pm != NULL) {
PM pm = *p, pm2;
while (pm != NULL) {
- mh_xfree(pm->pm_name);
- mh_xfree(pm->pm_value);
- mh_xfree(pm->pm_charset);
- mh_xfree(pm->pm_lang);
+ free(pm->pm_name);
+ free(pm->pm_value);
+ free(pm->pm_charset);
+ free(pm->pm_lang);
pm2 = pm->pm_next;
free(pm);
pm = pm2;
pm2 = pm->pm_next;
free(pm);
pm = pm2;
SIGNAL (SIGINT, SIG_IGN);
if (mhl_action == NULL && fp != stdin && fp != NULL)
fclose (fp);
SIGNAL (SIGINT, SIG_IGN);
if (mhl_action == NULL && fp != stdin && fp != NULL)
fclose (fp);
- mh_xfree(holder.c_text);
holder.c_text = NULL;
free_queue (&msghd, &msgtl);
for (c1 = fmthd; c1; c1 = c1->c_next)
holder.c_text = NULL;
free_queue (&msghd, &msgtl);
for (c1 = fmthd; c1; c1 = c1->c_next)
}
charstring_free (scanl);
}
charstring_free (scanl);
- mh_xfree(p->pq_text);
- mh_xfree(p->pq_error);
+ free(p->pq_text);
+ free(p->pq_error);
q = p->pq_next;
free(p);
}
q = p->pq_next;
free(p);
}
for (c1 = *head; c1; c1 = c2) {
c2 = c1->c_next;
for (c1 = *head; c1; c1 = c2) {
c2 = c1->c_next;
- mh_xfree(c1->c_name);
- mh_xfree(c1->c_text);
- mh_xfree(c1->c_ovtxt);
- mh_xfree(c1->c_nfs);
+ free(c1->c_name);
+ free(c1->c_text);
+ free(c1->c_ovtxt);
+ free(c1->c_nfs);
if (c1->c_fmt)
fmt_free (c1->c_fmt, 0);
free(c1);
if (c1->c_fmt)
fmt_free (c1->c_fmt, 0);
free(c1);
case FORMSW:
if (!(cp = *argp++) || *cp == '-')
adios (NULL, "missing argument to %s", argp[-2]);
case FORMSW:
if (!(cp = *argp++) || *cp == '-')
adios (NULL, "missing argument to %s", argp[-2]);
formsw = getcpy (etcpath (cp));
continue;
formsw = getcpy (etcpath (cp));
continue;
* Get any <Content-Id> given in buffer
*/
if (magic && *cp == '<') {
* Get any <Content-Id> given in buffer
*/
if (magic && *cp == '<') {
ct->c_id = NULL;
if (!(dp = strchr(ct->c_id = ++cp, '>'))) {
inform("invalid ID in message %s", ct->c_file);
ct->c_id = NULL;
if (!(dp = strchr(ct->c_id = ++cp, '>'))) {
inform("invalid ID in message %s", ct->c_file);
/* showproc is for mhshow and mhstore, though mhlist -debug
* prints it, too. */
/* showproc is for mhshow and mhstore, though mhlist -debug
* prints it, too. */
- mh_xfree(ct->c_showproc);
ct->c_showproc = mh_xstrdup("true");
fseek (ce->ce_fp, 0L, SEEK_SET);
ct->c_showproc = mh_xstrdup("true");
fseek (ce->ce_fp, 0L, SEEK_SET);
inform("missing language tag in message %s's %s: field\n"
" (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
inform("missing language tag in message %s's %s: field\n"
" (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
inform("invalid encoded sequence in message %s's %s: field\n"
" (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
inform("invalid encoded sequence in message %s's %s: field\n"
" (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
- mh_xfree(charset);
- mh_xfree(lang);
+ free(charset);
+ free(lang);
inform("invalid quoted-string in message %s's %s: field\n"
" (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
inform("invalid quoted-string in message %s's %s: field\n"
" (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
- mh_xfree(charset);
- mh_xfree(lang);
+ free(charset);
+ free(lang);
return NOTOK;
case '"':
break;
return NOTOK;
case '"':
break;
*/
if (index == 0 && encoded) {
*/
if (index == 0 && encoded) {
pp->lang = lang;
}
} else {
pp->lang = lang;
}
} else {
if (strlen(params->pm_name) > CPERLIN) {
inform("Parameter name \"%s\" is too long", params->pm_name);
if (strlen(params->pm_name) > CPERLIN) {
inform("Parameter name \"%s\" is too long", params->pm_name);
numchars, valoff);
if (i == 0) {
numchars, valoff);
if (i == 0) {
strlen(params->pm_value + valoff), valoff);
if (i == 0) {
strlen(params->pm_value + valoff), valoff);
if (i == 0) {
case FORMSW:
if (!(cp = *argp++) || *cp == '-')
adios (NULL, "missing argument to %s", argp[-2]);
case FORMSW:
if (!(cp = *argp++) || *cp == '-')
adios (NULL, "missing argument to %s", argp[-2]);
formsw = getcpy (etcpath (cp));
continue;
formsw = getcpy (etcpath (cp));
continue;
ct->c_storeproc = mh_xstrdup(cp);
}
ct->c_storeproc = mh_xstrdup(cp);
}
switch (state = m_getfld2(&gstate, name, buf, &bufsz)) {
case FLD:
case FLDPLUS:
switch (state = m_getfld2(&gstate, name, buf, &bufsz)) {
case FLD:
case FLDPLUS:
bp = mh_xstrdup(buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
bp = mh_xstrdup(buf);
while (state == FLDPLUS) {
bufsz = sizeof buf;
case FMTERR:
if (state == LENERR || state == FMTERR)
inform("format error in message %d", msgnum);
case FMTERR:
if (state == LENERR || state == FMTERR)
inform("format error in message %d", msgnum);
state = n->n_after ? (twsort (tw, &n->n_tws) > 0)
: (twsort (tw, &n->n_tws) < 0);
state = n->n_after ? (twsort (tw, &n->n_tws) > 0)
: (twsort (tw, &n->n_tws) < 0);
if (fcc)
fcc = add (", ", fcc);
fcc = add (cp, fcc);
if (fcc)
fcc = add (", ", fcc);
fcc = add (cp, fcc);
/* set up the "fcc" pseudo-component */
cptr = fmt_findcomp ("fcc");
if (cptr) {
/* set up the "fcc" pseudo-component */
cptr = fmt_findcomp ("fcc");
if (cptr) {
- mh_xfree(cptr->c_text);
if (fcc)
cptr->c_text = mh_xstrdup(fcc);
else
if (fcc)
cptr->c_text = mh_xstrdup(fcc);
else
}
cptr = fmt_findcomp ("user");
if (cptr) {
}
cptr = fmt_findcomp ("user");
if (cptr) {
- mh_xfree(cptr->c_text);
if ((cp = getenv("USER")))
cptr->c_text = mh_xstrdup(cp);
else
if ((cp = getenv("USER")))
cptr->c_text = mh_xstrdup(cp);
else
ivector_push_back (seqnum, seq_getnum (mp, *ap));
num_unseen_seq = i;
ivector_push_back (seqnum, seq_getnum (mp, *ap));
num_unseen_seq = i;
}
ontty = isatty (fileno (stdout));
}
ontty = isatty (fileno (stdout));
/* Only one part, nothing to split */
if (nparts == 1) {
free (cp);
/* Only one part, nothing to split */
if (nparts == 1) {
free (cp);
fclose (in);
return sendaux (vec, vecp, program, drft, st);
fclose (in);
return sendaux (vec, vecp, program, drft, st);
fclose (in); /* close the draft */
return status;
fclose (in); /* close the draft */
return status;
msg, compnum);
check_failed = 1;
}
msg, compnum);
check_failed = 1;
}
- mh_xfree(datecomp);
- mh_xfree(subjcomp);
+ free(datecomp);
+ free(subjcomp);
smsg->s_subj = subjcomp;
}
fclose (in);
smsg->s_subj = subjcomp;
}
fclose (in);