if (trace) {
struct trace_context *ctx;
- ctx = mh_xmalloc(sizeof(*ctx));
+ NEW(ctx);
ctx->num = -1;
ctx->str = dummy;
- ctx->outbuf = getcpy(NULL);
+ ctx->outbuf = mh_xstrdup("");
cb.trace_func = test_trace;
cb.trace_context = ctx;
for (i = 0; i < addrs->size; i++) {
(q = &pq)->pq_next = NULL;
while ((cp = getname(addrs->msgs[i]))) {
- if ((p = (struct pqpair *) mh_xcalloc ((size_t) 1, sizeof(*p))) == NULL)
- adios (NULL, "unable to allocate pqpair memory");
+ NEW0(p);
if ((mp = getm(cp, NULL, 0, error, sizeof(error))) == NULL) {
- p->pq_text = getcpy(cp);
- p->pq_error = getcpy(error);
+ p->pq_text = mh_xstrdup(cp);
+ p->pq_error = mh_xstrdup(error);
} else {
p->pq_text = getcpy(mp->m_text);
mnfree(mp);
for (p = pq.pq_next; p; p = q) {
c = fmt_findcomp("text");
if (c) {
- if (c->c_text)
- free(c->c_text);
+ mh_xfree(c->c_text);
c->c_text = p->pq_text;
p->pq_text = NULL;
}
c = fmt_findcomp("error");
if (c) {
- if (c->c_text)
- free(c->c_text);
+ mh_xfree(c->c_text);
c->c_text = p->pq_error;
p->pq_error = NULL;
}
fputs(charstring_buffer(buffer), stdout);
mlistfree();
- if (p->pq_text)
- free(p->pq_text);
- if (p->pq_error)
- free(p->pq_error);
+ mh_xfree(p->pq_text);
+ mh_xfree(p->pq_error);
q = p->pq_next;
free(p);
}
if ((cp = context_find(usequence)) && *cp) {
char **ap, *dp;
- dp = getcpy(cp);
+ dp = mh_xstrdup(cp);
ap = brkstring(dp, " ", "\n");
for (i = 0; ap && *ap; i++, ap++)
ivector_push_back (seqnum, seq_getnum(mp, *ap));
num_unseen_seq = i;
- if (dp)
- free(dp);
+ mh_xfree(dp);
}
}
for (i = 0; i < comps->size; i += 2) {
c = fmt_findcomp(comps->msgs[i]);
if (c) {
- if (c->c_text)
- free(c->c_text);
+ mh_xfree(c->c_text);
c->c_text = getcpy(comps->msgs[i + 1]);
}
}
for (i = 0; i < text->size; i++) {
if (c != NULL) {
- if (c->c_text != NULL)
- free(c->c_text);
+ mh_xfree(c->c_text);
c->c_text = getcpy(text->msgs[i]);
}
if (str != ctx->str) {
if (changed++)
- printf(" ");
+ putchar(' ');
printf("str=");
litputs(str);
ctx->str = str;
}
if (changed)
- printf("\n");
+ putchar('\n');
if (strcmp(outbuf, ctx->outbuf) != 0) {
printf("outbuf=");
litputs(outbuf);
putchar('\n');
free(ctx->outbuf);
- ctx->outbuf = getcpy(outbuf);
+ ctx->outbuf = mh_xstrdup(outbuf);
}
}
static void
dumpone(struct format *fmt)
{
- register int i;
+ int i;
if ((i = findlabel(fmt)) >= 0)
printf("L%d:", i);
case FT_LS_FRIENDLY:
case FT_PARSEADDR:
case FT_MYMBOX:
+ case FT_GETMYMBOX:
+ case FT_GETMYADDR:
printf(", c_name ");
litputs(fmt->f_comp->c_name);
if (fmt->f_comp->c_type)
case FT_LV_LIT:
case FT_LV_PLUS_L:
case FT_LV_MINUS_L:
+ case FT_LV_MULTIPLY_L:
case FT_LV_DIVIDE_L:
case FT_LV_MODULO_L:
printf(" value %d", fmt->f_value);
static int
findlabel(struct format *addr)
{
- register int i;
+ int i;
for (i = 0; i < lused; ++i)
if (addr == lvec[i])
case FT_LV_STRLEN: return("LV_STRLEN");
case FT_LV_PLUS_L: return("LV_PLUS_L");
case FT_LV_MINUS_L: return("LV_MINUS_L");
+ case FT_LV_MULTIPLY_L: return("LV_MULTIPLY_L");
case FT_LV_DIVIDE_L: return("LV_DIVIDE_L");
case FT_LV_MODULO_L: return("LV_MODULO_L");
case FT_LV_CHAR_LEFT: return("LV_CHAR_LEFT");
case FT_FORMATADDR: return("FORMATADDR");
case FT_CONCATADDR: return("CONCATADDR");
case FT_MYMBOX: return("MYMBOX");
+ case FT_GETMYMBOX: return("GETMYMBOX");
+ case FT_GETMYADDR: return("GETMYADDR");
#ifdef FT_ADDTOSEQ
case FT_ADDTOSEQ: return("ADDTOSEQ");
#endif
static char *
test_formataddr (char *orig, char *str)
{
- register int len;
+ int len;
char error[BUFSIZ];
- register int isgroup;
- register char *dst;
- register char *cp;
- register char *sp;
- register struct mailname *mp = NULL;
+ int isgroup;
+ char *dst;
+ char *cp;
+ char *sp;
+ struct mailname *mp = NULL;
/* if we don't have a buffer yet, get one */
if (bufsiz == 0) {
{
struct mailname *mp, *mp2;
- for (mp = mq.m_next; mp; mp = mp2->m_next) {
- mp2 = mp;
+ for (mp = mq.m_next; mp; mp = mp2) {
+ mp2 = mp->m_next;
mnfree(mp);
}
}