This allows changing the internals of TRI_vector_t structs in order to make the struct smaller.
On 64 bits, the size of TRI_vector_t is reduced from 48 bytes to 28 bytes.
TRI_json_t does benefit from this, as its biggest component is a TRI_vector_t.
vsnprintf doesn't return the required buffer size if the buffer was to small, but rather -1. If errno is set, its a fail, else we will retry with double buffer size.
lib/Basics/logging.cpp:1876:12: error: cannot initialize a variable of type 'CODE *' (aka '_code *') with an lvalue of type 'const CODE [25]'
CODE * ptr = TRI_facilitynames;
^ ~~~~~~~~~~~~~~~~~
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
Target: x86_64-unknown-freebsd10.1