Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

Re: [PATCH] strbuf: allocate enough space when strbuf_setlen() is called first time

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:51:05

Possibly related (same subject, not in this thread)

René Scharfe [off-list ref] writes:
How about something like this instead?  The call to strbuf_grow() was
introduced in a8f3e2219 when there was no strbuf_slopbuf buffer that
nowadays makes sure we always have a place to write an initial NUL.
We can take it out again now, simplifying the code and hopefully
avoiding future confusion.
Thanks; I think that makes sense.

It further may make sense to turn the assert into BUG() though, to clarify
what kind of programming error we are trying to catch.  Perhaps like:
 static inline void strbuf_setlen(struct strbuf *sb, size_t len) {
+	assert(len < (sb->alloc ? sb->alloc : 1));
	if (len < (sb->alloc ? sb->alloc : 1))
		die("programming error: using strbuf_setlen() to extend a strbuf");
 	sb->len = len;
 	sb->buf[len] = '\0';
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help