Change the printing mahine used by BIO_printf() and friends so it can handle an externally provided "static" buffer as well a a dynamic buffer.  The "static" buffer is filled first, but if overflowed, the dynamic buffer is used instead, being allocated somewhere i the heap.
Change the printing mahine used by BIO_printf() and friends so it can
handle an externally provided "static" buffer as well a a dynamic
buffer.  The "static" buffer is filled first, but if overflowed, the
dynamic buffer is used instead, being allocated somewhere i the heap.

This combines the benefits of putting the output in a preallocated
buffer (on the stack, for example) and in a buffer that grows
somewhere in the heap.

openssl/openssl,openssl/openssl,openssl/openssl,openssl/openssl,openssl/openssl,openssl/openssl