A couple of suggestions: - there's no reason to require autoreallocation in buffers; if a buffer can't be reallocated and we're trying to reserve too much space, then isc_buffer_reserve() just returns ISC_R_NOSPACE. - we can work out the number of characters added to a buffer in other ways, but it's useful to float result codes up the call stack, so let's have isc_buffer_printf() return isc_result_t. I've pushed a commit that makes these changes - what do you think?