On 08/20/2013 03:31 PM, Johannes Sixt wrote: > >> + packdir = mkpathdup("%s/pack", get_object_directory()); >> + packtmp = mkpathdup("%s/.tmp-%d-pack", packdir, getpid()); > > Should this not be > > packdir = xstrdup(git_path("pack")); > packtmp = xstrdup(git_path("pack/.tmp-%d-pack", getpid())); Just a question for documentational purpose. ;) Am I right suggesting the following: `mkpathdup`:: Use parameters to build the path on the filesystem, i.e. create required folders and then return a duplicate of that path. The caller is responsible to free the memory `xstrdup`:: Duplicates the given string, making the caller responsible to free the return value. (No side effects to fs, other global memory). Basically the same as man 2 strdup with errorhandling. `git_path`:: Returns a pointer to a static string buffer, so it can just be used once or must be duplicated using xstrdup. The path given is relative and is inside the repository. Stefan