Code

strbuf: clarify assertion in strbuf_setlen()
authorRené Scharfe <rene.scharfe@lsrfire.ath.cx>
Wed, 27 Apr 2011 17:24:50 +0000 (19:24 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 27 Apr 2011 17:52:15 +0000 (10:52 -0700)
commit7141efab2481214fcab8fb853207b343435fcad4
tree1825082f799965c0d058a0a86fbbf6ba70820c69
parentec014eac0e9e6f30cbbca616090fa2ecf74797e7
strbuf: clarify assertion in strbuf_setlen()

Commit a8f3e2219 introduced the strbuf_grow() call to strbuf_setlen() to
make ensure that there was at least one byte available to write the
mandatory trailing NUL, even for previously unallocated strbufs.

Then b315c5c0 added strbuf_slopbuf for the same reason, only globally for
all uses of strbufs.

Thus the strbuf_grow() call can be removed now.  This avoids readers of
strbuf.h from mistakenly thinking that strbuf_setlen() can be used to
extend a strbuf.

The following assert() needs to be changed to cope with the fact that
sb->alloc can now be zero, which is OK as long as len is also zero.  As
suggested by Junio, use the chance to convert it to a die() with a short
explanatory message.  The pattern of 'die("BUG: ...")' is already used in
strbuf.c.

This was the only assert() in strbuf.[ch], so assert.h doesn't have to be
included anymore either.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
strbuf.h