Re: [PATCH] mailsplit and mailinfo: gracefully handle NUL characters
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- May 22, 2008, 10:38 UTC
- Message-ID
- <alpine.DEB.1.00.0805221136230.30431@racer>
- In-Reply-To
- <7v8wy34jj3.fsf@gitster.siamese.dyndns.org>
Hi,
On Wed, 21 May 2008, Junio C Hamano wrote:
Show 13 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes: > > > The function fgets() has a big problem with NUL characters: it reads > > them, but nobody will know if the NUL comes from the file stream, or > > was appended at the end of the line. > > > > So implement a custom read_line() function. > > Looking at what handle_body() does for TE_BASE64 and TE_QP cases, I have > to wonder if this is enough. The loop seems to stop at (*op == NUL) > which follows an old assumption that each line is terminated with NUL, > not the new assumption you introduced that each line's length is kept in > local variable len.
Of course! But does BASE64 and QP contain NULs? After all, even my custom read_line_with_nul() function adds a NUL IIRC.
Well, the biggest problem here is my lack of time. I thought I would give Tommy a patch which kinda works, and he would actually hold through to brush it up until it shines and gets into git.git, because it is not _my_ itch.
Hmmmmmmm.
Ciao, Dscho