From 305e509e67c7adb71219d7d518dededf72163ac6 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Mon, 25 Jun 2007 15:33:27 +0200 Subject: [PATCH] Folded headers are now unfolded. --- cm.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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) -- 2.39.2