Fix two off-by-one errors that would sometimes cause the final length of the sbuf to include the trailing zero.
may now be called with an unfinished sbuf. For consistency, copy the related comment from sbuf_delete() to sbuf_clear() and sbuf_len().
Move the helper macros from sbuf.h to sbuf.c Use ints instead of size_ts. Relax the requirements for sbuf_finish(): it is now possible to finish an overflowed buffer. Make sbuf_len() return -1 instead of 0 if the sbuf overflowed. Requested by: gibbs