]> code.citadel.org Git - citadel.git/blobdiff - citadel/msgbase.c
Implemented RFC2919, the 'List-ID' field for mailing
[citadel.git] / citadel / msgbase.c
index ccee9818d2574549e63cd821cc49a1a3c0ff6ade..2324ee694b67dbd7f2c2c97230e20e8527711209 100644 (file)
@@ -1517,12 +1517,12 @@ char *qp_encode_email_addrs(char *source)
        EncodedMaxLen = nColons * (sizeof(headerStr) + 3) + SourceLen * 3;
        Encoded = (char*) malloc (EncodedMaxLen);
 
-       for (i = 1; i <= nColons; i++)
+       for (i = 0; i < nColons; i++)
                source[AddrPtr[i]++] = '\0';
 
        nPtr = Encoded;
        *nPtr = '\0';
-       for (i = 0; i <= nColons && nPtr != NULL; i++) {
+       for (i = 0; i < nColons && nPtr != NULL; i++) {
                nmax = EncodedMaxLen - (nPtr - Encoded);
                if (AddrUtf8[i]) {
                        process_rfc822_addr(&source[AddrPtr[i]], 
@@ -1560,7 +1560,7 @@ char *qp_encode_email_addrs(char *source)
                        i--; /* do it once more with properly lengthened buffer */
                }
        }
-       for (i = 1; i <= nColons; i++)
+       for (i = 0; i < nColons; i++)
                source[--AddrPtr[i]] = ',';
        free(AddrUtf8);
        free(AddrPtr);
@@ -1776,6 +1776,9 @@ int CtdlOutputPreLoadedMsg(
                                else if (i == 'P') {
                                        cprintf("Return-Path: %s%s", mptr, nl);
                                }
+                               else if (i == 'L') {
+                                       cprintf("List-ID: %s%s", mptr, nl);
+                               }
                                else if (i == 'V') {
                                        if ((flags & QP_EADDR) != 0) 
                                                mptr = qp_encode_email_addrs(mptr);