Re: [RFC PATCHv4] repack: rewrite the shell script in C.
- From
Stefan Beller <stefanbeller@googlemail.com>
- Date
- Aug 20, 2013, 21:24 UTC
- Message-ID
- <5213DE72.3000308@googlemail.com>
- In-Reply-To
- <52136F9C.6030308@kdbg.org>
On 08/20/2013 03:31 PM, Johannes Sixt wrote:
Show 8 quoted lines
>
>> + 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