]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.2-20041221
authorWietse Venema <wietse@porcupine.org>
Tue, 21 Dec 2004 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <viktor@dukhovni.org>
Tue, 5 Feb 2013 06:30:21 +0000 (06:30 +0000)
postfix/HISTORY
postfix/src/global/mail_version.h
postfix/src/postcat/postcat.c

index 036b06aa705e98080751882e223a675d28056464..89ad8b42139775d9b1d4880d43fa8c276ce154c0 100644 (file)
@@ -9989,6 +9989,10 @@ Apologies for any names omitted.
        Dummy VSTREAM read-write routines. Files: util/dummy_read.c,
        util/dummy_write.c.
 
+20041221
+
+       Bugfix: further postcat corner cases.
+
 Open problems:
 
        Med: implement ${name[?:]value} in main.cf or update the
index c8832a4bc09d4d9283129c5706590e183f5688c0..2d30832f7e572004626f91378c0139ae5cf1c3f4 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change the patchlevel and the release date. Snapshots change the
   * release date only.
   */
-#define MAIL_RELEASE_DATE      "20041220"
+#define MAIL_RELEASE_DATE      "20041221"
 #define MAIL_VERSION_NUMBER    "2.2"
 
 #define VAR_MAIL_VERSION       "mail_version"
index 5de23acbcfe4c772f550bb454352a0af2d5a9569..20595357aba1ae57b73ab18a3a202806e8939d22 100644 (file)
@@ -136,8 +136,7 @@ static void postcat(VSTREAM *fp, VSTRING *buffer, int flags)
            vstream_printf("*** ENVELOPE RECORDS %s ***\n", VSTREAM_PATH(fp));
            first = 0;
        }
-       if (prev_type == REC_TYPE_CONT && in_message && !msg_verbose
-           && ((flags & PC_FLAG_OFFSET) != 0 || !TEXT_RECORD(rec_type)))
+       if (prev_type == REC_TYPE_CONT && !TEXT_RECORD(rec_type))
            VSTREAM_PUTCHAR('\n');
        if (flags & PC_FLAG_OFFSET)
            vstream_printf("%9lu ", (unsigned long) offset);
@@ -149,11 +148,15 @@ static void postcat(VSTREAM *fp, VSTRING *buffer, int flags)
                           asctime(localtime(&time)));
            break;
        case REC_TYPE_CONT:                     /* REC_TYPE_FILT collision */
-           if (msg_verbose)
+           if (!in_message) 
+               vstream_printf("%s: ", rec_type_name(rec_type));
+           else if (msg_verbose)
                vstream_printf("unterminated_text: ");
            vstream_fwrite(VSTREAM_OUT, STR(buffer), LEN(buffer));
-           if (msg_verbose)
+           if (!in_message || msg_verbose || (flags & PC_FLAG_OFFSET) != 0) {
+               rec_type = 0;
                VSTREAM_PUTCHAR('\n');
+           }
            break;
        case REC_TYPE_NORM:
            if (msg_verbose)