From 2c6526414a4a97a2d0953b2b29f3e667a20d574d Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Mon, 2 Dec 2013 00:55:27 +0100 Subject: [PATCH] fix unwrapping of folded lines. --- citadel/internet_addressing.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/citadel/internet_addressing.c b/citadel/internet_addressing.c index 907d0eaac..83fcf4c04 100644 --- a/citadel/internet_addressing.c +++ b/citadel/internet_addressing.c @@ -991,15 +991,14 @@ void unfold_rfc822_field(char **field, char **FieldEnd) { if ((*sField=='\r') || (*sField=='\n')) { - int offset = 1; - - if (*(sField+1) == '\n') - offset++; - - if (sField + offset == pFieldEnd) - break; - - *pField = *sField + offset; + int Offset = 1; + while (((*(sField + Offset) == '\r') || + (*(sField + Offset) == '\n') || + (isspace(*(sField + Offset)))) && + (sField + Offset < pFieldEnd)) + Offset ++; + sField += Offset; + *pField = *sField; } else { if (*sField=='\"') quote = 1 - quote; -- 2.30.2