From: Martin Mares Date: Mon, 25 Jun 2007 13:33:27 +0000 (+0200) Subject: Folded headers are now unfolded. X-Git-Tag: v1.4~37 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=305e509e67c7adb71219d7d518dededf72163ac6;p=checkmail.git Folded headers are now unfolded. --- diff --git a/cm.c b/cm.c index f04618b..3a4630e 100644 --- a/cm.c +++ b/cm.c @@ -296,6 +296,13 @@ mb_get(void) return (mb_cc < mb_end) ? *mb_cc++ : mb_ll_get(); } +static void +mb_unget(int c) +{ + if (c >= 0) + mb_cc--; +} + static int mb_check(const char *p, int len) { @@ -389,7 +396,19 @@ scan_mbox(struct mbox *b, struct stat *st) goto done; } if (c == '\n') - break; + { + int fold = -1; + do + { + fold++; + c = mb_get(); + } + while (c == ' ' || c == '\t'); + mb_unget(c); + if (!fold) + break; + c = ' '; + } if (c == '\r') continue; if (i < sizeof(buf) - 1)