Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: >> If we do handle it up-front, then I think we'd actually want: >> >> if (!size) { >> free(ptr); >> return xmalloc(0); >> } >> >> (i.e., to never return NULL for consistency with xmalloc() and >> xcalloc()). > > Makes sense. I suspect that this is optimizing for a wrong case, > but in practice that should not matter. Not having to worry about > a request to resize to 0-byte in the remainder of the function is > actually a plus for readability, I would say. I agree with both points: if we were repeatedly shrinking and growing a buffer and cared about its performance, then we'd want the first version, and since we aren't, we should prefer this version that is more readable. Thanks, Jonathan