Re: [AGGREGATED PATCH] Fix in-place editing functions in convert.c
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Oct 5, 2007, 15:26 UTC
- Message-ID
- <alpine.LFD.0.999.0710050819540.23684@woody.linux-foundation.org>
- In-Reply-To
- <20071005085522.32EFF1E16E@madism.org>
On Fri, 5 Oct 2007, Pierre Habouzit wrote:
Show 5 quoted lines
> > - strbuf_grow(buf, len); > + /* only grow if not in place */ > + if (strbuf_avail(buf) + buf->len < len) > + strbuf_grow(buf, len - buf->len);
Umm. This is really ugly.
The whole point of strbuf's was that you shouldn't be doing your own allocation decisions etc. So why do it?
Wouldn't it be much better to have a strbuf_make_room() interface that just guarantees that there is enough room fo "len"?
Otherwise, code like the above would seem to make the whole point of a safer string interface rather pointless. The above code only makes sense if you know how the strbuf's are internally done, so it should not exists except as internal strbuf code. No?
Linus