1
0
mirror of https://github.com/git/git.git synced 2024-10-03 16:22:22 +02:00
git/t/t5100
Junio C Hamano a9fd1383a7 mailinfo: fix MIME multi-part message boundary handling
After finding a MIME multi-part message boundary line, the handle_body()
function is supposed to first flush any accumulated contents from the
previous part to the output stream.  However, the code mistakenly output
the boundary line it found.

The old code that used one global, fixed-length buffer line[] used an
alternate static buffer newline[] for keeping track of this accumulated
contents and flushed newline[] upon seeing the boundary; when 3b6121f
(git-mailinfo: use strbuf's instead of fixed buffers, 2008-07-13)
converted a fixed-length buffer in this program to use strbuf,these two
buffers were converted to "line" and "prev" (the latter of which now has a
much more sensible name) strbufs, but the code mistakenly flushed "line"
(which contains the boundary we have just found), instead of "prev".

This resulted in the first boundary to be output in front of the first
line of the message.

The rewritten implementation of handle_boundary() lost the terminating
newline; this would then result in the second line of the message to be
stuck with the first line.

The is_multipart_boundary() was designed to catch both the internal
boundary and the terminating one (the one with trailing "--"); this also
was broken with the rewrite, and the code in the handle_boundary() to
handle the terminating boundary was never triggered.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-08-09 01:26:35 -07:00
..
0010
info0001
info0002
info0003
info0004
info0005
info0006
info0007
info0008
info0009
info0010
info0011
msg0001
msg0002
msg0003
msg0004
msg0005
msg0006
msg0007
msg0008
msg0009
msg0010
msg0011
nul-b64.expect
nul-b64.in
nul-plain
patch0001
patch0002
patch0003
patch0004
patch0005
patch0006
patch0007
patch0008
patch0009
patch0010
patch0011
sample.mbox