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
echo 123 > a
hg add a
hg commit -m "first" -d "1000000 0" a
mkdir sub
echo 321 > sub/b
hg add sub/b
hg commit -m "second" -d "1000000 0" sub/b
cat sub/b
hg co 0
cat sub/b 2>/dev/null || echo "sub/b not present"
test -d sub || echo "sub not present"
true