reimplement Dcc-field
[mmh] / uip / spost.c
index 3a70f36..96ca14d 100644 (file)
@@ -49,6 +49,7 @@ static struct swit switches[] = {
 #define HBCC  0x0010  /* don't output this header */
 #define HFCC  0x0020  /* FCC: type header */
 #define HIGN  0x0040  /* ignore this header */
 #define HBCC  0x0010  /* don't output this header */
 #define HFCC  0x0020  /* FCC: type header */
 #define HIGN  0x0040  /* ignore this header */
+#define HDCC  0x0080  /* DCC: type header */
 
 /* flags for headers->set */
 #define MFRM  0x0001  /* we've seen a From: */
 
 /* flags for headers->set */
 #define MFRM  0x0001  /* we've seen a From: */
@@ -75,6 +76,7 @@ static struct headers NHeaders[] = {
        { "Subject", HSUB, 0 },
        { "To", HADR|HTRY, MVIS },
        { "Cc", HADR|HTRY, MVIS },
        { "Subject", HSUB, 0 },
        { "To", HADR|HTRY, MVIS },
        { "Cc", HADR|HTRY, MVIS },
+       { "Dcc", HADR|HTRY|HDCC, MVIS },
        { "Bcc", HADR|HTRY|HBCC, MINV },
        { "Message-Id", HBAD, 0 },
        { "Fcc", HFCC, 0 },
        { "Bcc", HADR|HTRY|HBCC, MINV },
        { "Message-Id", HBAD, 0 },
        { "Fcc", HFCC, 0 },
@@ -90,6 +92,7 @@ static struct headers RHeaders[] = {
        { "Resent-Subject", HSUB, 0 },
        { "Resent-To", HADR|HTRY, MVIS },
        { "Resent-Cc", HADR|HTRY, MVIS },
        { "Resent-Subject", HSUB, 0 },
        { "Resent-To", HADR|HTRY, MVIS },
        { "Resent-Cc", HADR|HTRY, MVIS },
+       { "Resent-Dcc", HADR|HTRY|HDCC, MVIS },
        { "Resent-Bcc", HADR|HTRY|HBCC, MINV },
        { "Resent-Message-Id", HBAD, 0 },
        { "Resent-Fcc", HFCC, 0 },
        { "Resent-Bcc", HADR|HTRY|HBCC, MINV },
        { "Resent-Message-Id", HBAD, 0 },
        { "Resent-Fcc", HFCC, 0 },
@@ -443,7 +446,9 @@ putfmt(char *name, char *str, FILE *out)
                }
        }
 
                }
        }
 
-       putadr(name, addr_start.m_next);
+       if (!(hdr->flags & HDCC)) {
+               putadr(name, addr_start.m_next);
+       }
 
        if (hdr->flags & HTRY) {
                addr_end->m_next = recipients;
 
        if (hdr->flags & HTRY) {
                addr_end->m_next = recipients;