40 lines
1.1 KiB
Plaintext
40 lines
1.1 KiB
Plaintext
---
|
|
man/procmail.man | 3 ---
|
|
src/fields.c | 13 +++++++++++--
|
|
2 files changed, 11 insertions(+), 5 deletions(-)
|
|
|
|
--- man/procmail.man
|
|
+++ man/procmail.man 2004-05-09 22:17:37.000000000 +0000
|
|
@@ -605,9 +605,6 @@ it to the filter itself, not to any of t
|
|
A continued
|
|
.B Content-Length:
|
|
field is not handled correctly.
|
|
-.PP
|
|
-The embedded newlines in a continued header should be skipped when
|
|
-matching instead of being treated as a single space as they are now.
|
|
.SH MISCELLANEOUS
|
|
If there is an existing
|
|
.B Content-Length:
|
|
--- src/fields.c
|
|
+++ src/fields.c 2009-11-20 15:06:37.571429621 +0000
|
|
@@ -68,8 +68,17 @@ void concatenate(fldp)struct field*const
|
|
l=fldp->Tot_len;
|
|
if(!eqFrom_(p=fldp->fld_text)) /* don't concatenate From_ lines */
|
|
while(l--)
|
|
- if(*p++=='\n'&&l) /* by substituting all newlines except the last */
|
|
- p[-1]=' ';
|
|
+ if(*p=='\n'&&l) /* by removing all newlines except the last */
|
|
+ {
|
|
+ *p++=' ';
|
|
+ while((*p == ' ' || *p == '\t') && l)
|
|
+ {
|
|
+ tmemmove(p, p+1, l--);
|
|
+ fldp->Tot_len--;
|
|
+ }
|
|
+ }
|
|
+ else
|
|
+ p++;
|
|
}
|
|
|
|
static void extractfield(p)register const struct field*p;
|