On Sun, Jun 10, 2012 at 10:02 PM, <nguyenhu@xxxxxxxxxxxxxxx> wrote: > > Erik Faye-Lund <kusmabite@xxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html