> + * The behavior for zero sized allocs changes. We no longer> + * allocate memory but return ZERO_SIZE_PTR.> + * WARN so that people can review and fix their code.

I don't see why people have so much opposition to zero-size memory allocations. There's all sorts of situations where you want a resizeable array that may have zero objects, especially in these days of hotpluggability.

Not only is it simpler (and therefore less likely to be buggy) to write code to simply resize to current number of objects, but not having to make additional code for checking the special case of count==0 leading to different function calls (instead of always reallocating, you might have to allocate instead, and instead of reallocating to zero you might have to free instead) will very slightly increase the object-text size.