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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Renà Scharfe <rene.scharfe@xxxxxxxxxxxxxx> 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';
>  }
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]