From: nguyenhu@minatec.inpg.fr Date: Sun, 10 Jun 2012 13:48:50 GMT Subject: Re: [PATCHv6 1/4] Read (but not write) from $XDG_CONFIG_HOME/git/config file Message-ID: <20120610154850.Horde.gYrJO3wdC4BP1KXCOvLEiCA@webmail.minatec.grenoble-inp.fr> In-Reply-To: <7v4nqjbrdo.fsf@alter.siamese.dyndns.org> Junio C Hamano a écrit : >> 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; >> } > > 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. So with the call to clean-up-path function and without the call to strbuf_release(), mkpathdup() function becomes : char *mkpathdup(const char *fmt, ...) { struct strbuf sb = STRBUF_INIT; va_list args; va_start(args, fmt); strbuf_vaddf(&sb, fmt, args); va_end(args); return cleanup_path(strbuf_detach(&sb, NULL)); }