MemoryBuffer::getFile()-family functions take RequiresNullTerminator
boolean argument. If it is true, MemoryBuffer ensures that the buffer
ends with '\0'. By default, it is true.
But that default was not reasonable. If you are reading binary files,
or even if you are reading text files, you usually don't need a nul
terminator character. However, because it's default, we do that in many
places.
This patch flips the default so that we don't append '\0' by default.
I tested this patch by adding code to add a dummy non-'\0' byte at end
of a buffer if RequiresNullTerminator is false and run all tests.
Maybe we should have a getNullTerminatedFile?