nguyenhu@minatec.inpg.fr writes:
quoted
Modulo
path = strbuf_detach(&sb, NULL);
that is more or less what I meant.
So now the mkpathdup() function looks like:
char *mkpathdup(const char *fmt, ...)
{
char *path;
struct strbuf sb = STRBUF_INIT;
va_list args;
va_start(args, fmt);
strbuf_vaddf(&sb, fmt, args);
va_end(args);
path = strbuf_detach(&sb, NULL);
strbuf_release(&sb);
return path;
}
This new variation of mkpathdup() function both fix the bug addressed
by commit 05bab3ea and avoid the use of bounded buffer.
I didn't mean to suggest removing the call to clean-up-path
function. What I meant was that strbuf_detach() is a way to take
the ownership of the buffer, so that you do not have to call
strbuf_release() on it.