From: Erik Faye-Lund Date: Sun, 10 Jun 2012 20:27:26 GMT Subject: Re: [PATCHv6 1/4] Read (but not write) from $XDG_CONFIG_HOME/git/config file Message-ID: In-Reply-To: <20120610220239.Horde.UcGZQnwdC4BP1P1fPg1GEMA@webmail.minatec.grenoble-inp.fr> On Sun, Jun 10, 2012 at 10:02 PM, wrote: > > Erik Faye-Lund a écrit : > >>> 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)); >>> >>> } >> >> >> The awkward thing about doing this, is that the memory allocated by >> the strbuf cannot be reclaimed if you go with this. A pointer that has >> been adjusted (like cleanup_path can do) cannot be successfully fed to >> free. > > > Do you mean that the previous version is preferable in keeping clean-up-path > function ? > No, that wasn't my intention. Since this is only used for a few config files, I don't think leaking the memory is a big deal. But it's probably worth putting a comment in the code about it, to warn potential future users.