From: Alex Riesen Date: Tue, 04 Aug 2009 20:57:36 GMT Subject: Re: [PATCH] Let mailsplit and mailinfo handle mails with CRLF line-endings Message-ID: <81b0412b0908041357he6056a3l78ebcec413a2e255@mail.gmail.com> In-Reply-To: On Tue, Aug 4, 2009 at 19:34, Sverre Rabbelier wrote: > On Tue, Aug 4, 2009 at 10:26, Alex Riesen wrote: >>        } >> +       if (len > 1 && buf[len - 2] == '\r') >> +               buf[--len - 1] = '\n'; >>        buf[len] = '\0'; > > How about something like: > > +       if (len > 1 && buf[len - 2] == '\r' && (buf[len - 1] == '\n' > || buf[len - 1] == '\0')) > +               buf[--len - 1] = '\n'; > > To make sure that we're not erasing a \r somewhere in the middle of the content? I think this should be enough: if (c == '\n' && len > 1 && buf[len - 2] == '\r') buf[--len - 1] = '\n'; I'll resend.