aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2008-05-16 14:03:30 +0100
committerJunio C Hamano <gitster@pobox.com>2008-05-25 13:21:40 -0700
commitcce8d6fdb4d7170a73763586daf6ac4f6b8fce2c (patch)
tree636ecb4162561aa5bdfa5a86128fa941fc1ea617 /t
parent182fb4df9120257c2e6b041dd58eef3de5b530d2 (diff)
downloadgit-cce8d6fdb4d7170a73763586daf6ac4f6b8fce2c.tar.gz
git-cce8d6fdb4d7170a73763586daf6ac4f6b8fce2c.tar.xz
mailsplit and mailinfo: gracefully handle NUL characters
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_with_nul() function. Noticed by Tommy Thorn. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t5100-mailinfo.sh9
-rw-r--r--t/t5100/nulbin0 -> 91 bytes
2 files changed, 9 insertions, 0 deletions
diff --git a/t/t5100-mailinfo.sh b/t/t5100-mailinfo.sh
index d6c55c115..5a4610b86 100755
--- a/t/t5100-mailinfo.sh
+++ b/t/t5100-mailinfo.sh
@@ -25,4 +25,13 @@ do
diff ../t5100/info$mail info$mail"
done
+test_expect_success 'respect NULs' '
+
+ git mailsplit -d3 -o. ../t5100/nul &&
+ cmp ../t5100/nul 001 &&
+ (cat 001 | git mailinfo msg patch) &&
+ test 4 = $(wc -l < patch)
+
+'
+
test_done
diff --git a/t/t5100/nul b/t/t5100/nul
new file mode 100644
index 000000000..3d4069178
--- /dev/null
+++ b/t/t5100/nul
Binary files differ