On Thu, Sep 27, 2007 at 06:21:24AM +0000, Junio C Hamano wrote: > It would be appreciated if somebody with a fresh pair of eyes > can go over the strbuf series one more time to make sure that we > do not try to blindly use buf.buf, assuming buf.buf[0] is NUL if > (buf.len == 0). Like said in the 2/2 patch, I think it's better if people could be able to always assume that and be done with it, else you have to know this internal duality of the empty strbuf and it sucks. Instead, what is important, is that people that initialized a strbuf, then want to go back in the char* world gets a NULL if nothing was allocated. It is a semantics that is used in a few places (it's arguable that it's a right thing to assume though). For those, making strbuf_detach use mandatory, and dealing with the special ->alloc == 0 case is the easiest way. And as I don't trust my eyes to be fresh, I've used the aid of the compiler to bust any place where we were using .buf members directly, possibly doing something stupid. -- ·O· Pierre Habouzit ··O madcoder@xxxxxxxxxx OOO http://www.madism.org
Attachment:
pgpqNgLuZw5I7.pgp
Description: PGP signature