don't return uninitialized memory from bdiff.blocks()
bdiff.blocks() returns a dummy match at the end of both files; the
length of that chunk is never set, so it will sometimes contain random
heap garbage. There are apparently workarounds for this elsewhere:
# bdiff sometimes gives huge matches past eof, this check eats them,
#!/bin/sh
hg init
python -c 'print "confuse str.splitlines\nembedded\rnewline"' > a
hg ci -Ama -d '1 0'
echo clean diff >> a
hg ci -mb -d '2 0'
hg diff -r0 -r1