Create two new mh-format functions: %(putlit) and %(concataddr).
[mmh] / sbr / fmt_scan.c
index 2bf1821..5240781 100644 (file)
@@ -23,6 +23,7 @@
 #endif
 
 extern char *formataddr ();    /* hook for custom address formatting */
+extern char *concataddr ();    /* address formatting but allowing duplicates */
 
 #ifdef LBL
 struct msgs *fmt_current_folder; /* current folder (set by main program) */
@@ -347,6 +348,11 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat)
        case FT_STRF:
            cptrimmed (&cp, str, fmt->f_width, fmt->f_fill, ep - cp);
            break;
+       case FT_STRLIT:
+           sp = str;
+           while ((c = *sp++) && cp < ep)
+               *cp++ = c;
+           break;
        case FT_STRFW:
            adios (NULL, "internal error (FT_STRFW)");
 
@@ -786,6 +792,11 @@ fmt_scan (struct format *format, char *scanl, int width, int *dat)
            str = formataddr (savestr, str);
            break;
 
+       case FT_CONCATADDR:
+           /* The same as formataddr, but doesn't do duplicate suppression */
+           str = concataddr (savestr, str);
+           break;
+
        case FT_PUTADDR:
            /* output the str register as an address component,
             * splitting it into multiple lines if necessary.  The