neovim/neovim — pull request #847 by schmee (2014-06-15 11:33:45+00:00)
Title: Remove `BO_FNAME_SIZE_{,NO}CRYPT`

Closes #836. I've tried to wrap my head around this and here's what I think is going on:

The `block0` struct can't be changed because of backwards compatibility (see the comments at the definition). Because this definition can't change, but more information is needed, vim uses the pretty nasty hack of storing file encoding information in the last bytes of `b0_fname`. Vim also reserves space for the encryption seed in this array. Since this is no longer needed, it is always enough to just reserve the last 2 bytes.

ping @justinmk