X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/4dce3152ce5e257dde0575dc2fab4121d127dfb5..1bc460a64a0de0766d21f4f8660c6597bc410cbc:/src/src/receive.c diff --git a/src/src/receive.c b/src/src/receive.c index f2a94e0f8..a479e12cd 100644 --- a/src/src/receive.c +++ b/src/src/receive.c @@ -835,7 +835,15 @@ while ((ch = (receive_getc)()) != EOF) ch_state = 4; continue; } - ch_state = 1; /* The dot itself is removed */ + /* The dot was removed at state 3. For a doubled dot, here, reinstate + it to cutthrough. The current ch, dot or not, is passed both to cutthrough + and to file below. */ + if (ch == '.') + { + uschar c= ch; + (void) cutthrough_puts(&c, 1); + } + ch_state = 1; break; case 4: /* After [CR] LF . CR */