X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/42abd132e92e77b357fa2598ffcea862c4d003c6..0d0d0e65a4c093f3f8827d4cd3375dcde4d4aab0:/uip/fmttest.c diff --git a/uip/fmttest.c b/uip/fmttest.c index b39fde47..d848bea0 100644 --- a/uip/fmttest.c +++ b/uip/fmttest.c @@ -1,6 +1,4 @@ - -/* - * fmttest.c -- A program to help test and debug format instructions +/* fmttest.c -- A program to help test and debug format instructions * * This code is Copyright (c) 2012, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for @@ -13,6 +11,7 @@ #include #include #include +#include "../sbr/m_maildir.h" #define FMTTEST_SWITCHES \ X("form formatfile", 0, FORMSW) \ @@ -288,8 +287,7 @@ main (int argc, char **argv) */ if (!dump && compargs.size == 0 && msgs.size == 0) { - adios (NULL, "usage: [switches] [+folder] msgs | strings...", - invo_name); + adios(NULL, "usage: [switches] [+folder] msgs | strings..."); } /* @@ -512,7 +510,7 @@ process_messages(struct format *fmt, struct msgs_array *comps, done(1); seq_setprev(mp); /* set the Previous-Sequence */ - context_replace(pfolder, folder); /* update curren folder */ + context_replace(pfolder, folder); /* update current folder */ seq_save(mp); /* synchronize message sequences */ context_save(); /* save the context file */ @@ -573,7 +571,6 @@ process_messages(struct format *fmt, struct msgs_array *comps, ivector_free (seqnum); folder_free(mp); - return; } /* @@ -587,7 +584,7 @@ process_single_file(FILE *in, struct msgs_array *comps, int *dat, int msgsize, { int i, state; char name[NAMESZ], rbuf[NMH_BUFSIZ]; - m_getfld_state_t gstate = 0; + m_getfld_state_t gstate; struct comp *c; int bufsz; @@ -605,7 +602,7 @@ process_single_file(FILE *in, struct msgs_array *comps, int *dat, int msgsize, } /* - * Initialize everyting else + * Initialize everything else */ if (dat[0] == -1) @@ -619,9 +616,10 @@ process_single_file(FILE *in, struct msgs_array *comps, int *dat, int msgsize, * Read in the message and process the components */ + gstate = m_getfld_state_init(in); for (;;) { bufsz = sizeof(rbuf); - state = m_getfld(&gstate, name, rbuf, &bufsz, in); + state = m_getfld2(&gstate, name, rbuf, &bufsz); switch (state) { case FLD: case FLDPLUS: @@ -629,14 +627,14 @@ process_single_file(FILE *in, struct msgs_array *comps, int *dat, int msgsize, if (i != -1) { while (state == FLDPLUS) { bufsz = sizeof(rbuf); - state = m_getfld(&gstate, name, rbuf, &bufsz, in); + state = m_getfld2(&gstate, name, rbuf, &bufsz); fmt_appendcomp(i, name, rbuf); } } while (state == FLDPLUS) { bufsz = sizeof(rbuf); - state = m_getfld(&gstate, name, rbuf, &bufsz, in); + state = m_getfld2(&gstate, name, rbuf, &bufsz); } break; @@ -644,12 +642,12 @@ process_single_file(FILE *in, struct msgs_array *comps, int *dat, int msgsize, if (fmt_findcomp("body")) { if ((i = strlen(rbuf)) < outwidth) { bufsz = min (outwidth, (int) sizeof rbuf - i); - m_getfld(&gstate, name, rbuf + i, &bufsz, in); + m_getfld2(&gstate, name, rbuf + i, &bufsz); } fmt_addcomptext("body", rbuf); } - /* fall through */ + goto finished; default: goto finished; @@ -894,6 +892,7 @@ dumpone(struct format *fmt) case FT_IF_MATCH: case FT_IF_AMATCH: printf(" continue else goto"); + /* FALLTHRU */ case FT_GOTO: i = findlabel(fmt + fmt->f_skip); printf(" L%d", i); @@ -1085,9 +1084,7 @@ f_typestr(int t) case FT_GETMYMBOX: return("GETMYMBOX"); case FT_GETMYADDR: return("GETMYADDR"); case FT_SAVESTR: return("SAVESTR"); -#ifdef FT_PAUSE case FT_PAUSE: return ("PAUSE"); -#endif case FT_DONE: return("DONE"); case FT_NOP: return("NOP"); case FT_GOTO: return("GOTO"); @@ -1306,10 +1303,10 @@ insert (struct mailname *np) return 0; for (mp = &mq; mp->m_next; mp = mp->m_next) { - if (!strcasecmp (np->m_host ? np->m_host : "", - mp->m_next->m_host ? mp->m_next->m_host : "") && - !strcasecmp (np->m_mbox ? np->m_mbox : "", - mp->m_next->m_mbox ? mp->m_next->m_mbox : "")) + if (!strcasecmp (FENDNULL(np->m_host), + FENDNULL(mp->m_next->m_host)) && + !strcasecmp (FENDNULL(np->m_mbox), + FENDNULL(mp->m_next->m_mbox))) return 0; } if (!ccme && ismymbox (np))