]> diplodocus.org Git - nmh/blobdiff - uip/fmttest.c
Make many m_getfld() buffer parameters NMH_BUFSIZ big.
[nmh] / uip / fmttest.c
index 712d7df2da4df57ca5356680a0792522308fa9bc..5f52fdc3af26dcb15b75d656f4eeea2f86d8bad6 100644 (file)
@@ -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
@@ -351,10 +349,10 @@ main (int argc, char **argv)
        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;
@@ -420,11 +418,10 @@ process_addresses(struct format *fmt, struct msgs_array *addrs,
     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);
@@ -435,15 +432,13 @@ process_addresses(struct format *fmt, struct msgs_array *addrs,
        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;
            }
@@ -452,10 +447,8 @@ process_addresses(struct format *fmt, struct msgs_array *addrs,
            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);
        }
@@ -517,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 */
 
@@ -530,14 +523,13 @@ process_messages(struct format *fmt, struct msgs_array *comps,
        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);
        }
     }
 
@@ -579,7 +571,6 @@ process_messages(struct format *fmt, struct msgs_array *comps,
 
     ivector_free (seqnum);
     folder_free(mp);
-    return;
 }
 
 /*
@@ -611,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)
@@ -655,7 +646,7 @@ process_single_file(FILE *in, struct msgs_array *comps, int *dat, int msgsize,
 
                fmt_addcomptext("body", rbuf);
            }
-           /* fall through */
+           /* FALLTHRU */
 
        default:
            goto finished;
@@ -672,8 +663,7 @@ finished:
        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]);
            }
        }
@@ -707,8 +697,7 @@ process_raw(struct format *fmt, struct msgs_array *text, charstring_t buffer,
 
     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]);
        }
 
@@ -742,21 +731,21 @@ test_trace(void *context, struct format *fmt, int num, char *str,
 
     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);
     }
 }
 
@@ -778,7 +767,7 @@ fmt_dump (char *nfs, struct format *fmth)
 static void
 dumpone(struct format *fmt)
 {
-       register int i;
+       int i;
 
        if ((i = findlabel(fmt)) >= 0)
                printf("L%d:", i);
@@ -902,6 +891,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);
@@ -990,7 +980,7 @@ initlabels(struct format *fmth)
 static int
 findlabel(struct format *addr)
 {
-       register int i;
+       int i;
 
        for (i = 0; i < lused; ++i)
                if (addr == lvec[i])
@@ -1092,13 +1082,8 @@ f_typestr(int t)
        case FT_MYMBOX: return("MYMBOX");
        case FT_GETMYMBOX: return("GETMYMBOX");
        case FT_GETMYADDR: return("GETMYADDR");
-#ifdef FT_ADDTOSEQ
-       case FT_ADDTOSEQ: return("ADDTOSEQ");
-#endif
        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");
@@ -1144,10 +1129,10 @@ static void
 litputs(const char *s)
 {
        if (s) {
-               putc('"', stdout);
+               putchar('"');
                while (*s)
                        litputc(*s++);
-               putc('"', stdout);
+               putchar('"');
        } else
                fputs("<nil>", stdout);
 }
@@ -1159,26 +1144,26 @@ litputc(char c)
                printf("\\x%02x", (unsigned char) c);
        } else if (c < 0x20 || c == 0177) {
                if (c == '\b') {
-                       putc('\\', stdout);
-                       putc('b', stdout);
+                       putchar('\\');
+                       putchar('b');
                } else if (c == '\f') {
-                       putc('\\', stdout);
-                       putc('f', stdout);
+                       putchar('\\');
+                       putchar('f');
                } else if (c == '\n') {
-                       putc('\\', stdout);
-                       putc('n', stdout);
+                       putchar('\\');
+                       putchar('n');
                } else if (c == '\r') {
-                       putc('\\', stdout);
-                       putc('r', stdout);
+                       putchar('\\');
+                       putchar('r');
                } else if (c == '\t') {
-                       putc('\\', stdout);
-                       putc('t', stdout);
+                       putchar('\\');
+                       putchar('t');
                } else {
-                       putc('^', stdout);
-                       putc(c ^ 0x40, stdout); /* DEL to ?, others to alpha */
+                       putchar('^');
+                       putchar(c ^ 0x40);      /* DEL to ?, others to alpha */
                }
        } else
-               putc(c, stdout);
+               putchar(c);
 }
 
 /*
@@ -1224,13 +1209,13 @@ static unsigned int bufsiz=0;   /* current size of buf */
 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) {