Commit 7e443f69 by Russell Belfer

Restore portability to git_path_prettify.

It turns out that passing NULL for the second parameter of realpath(3)
is not as portable as one might like.  Notably, Mac OS 10.5 and earlier
does not support it.  So this moves us back to a large buffer to get
the realpath info.
parent 1d175074
......@@ -181,8 +181,8 @@ int git_path_root(const char *path)
int git_path_prettify(git_buf *path_out, const char *path, const char *base)
{
char *result = NULL;
int error = GIT_SUCCESS;
char buf[GIT_PATH_MAX];
git_buf_clear(path_out);
......@@ -193,16 +193,10 @@ int git_path_prettify(git_buf *path_out, const char *path, const char *base)
path = path_out->ptr;
}
/* allow realpath to allocate the buffer */
if (path != NULL)
result = p_realpath(path, NULL);
if (result) {
error = git_buf_sets(path_out, result);
git__free(result);
} else {
if (path == NULL || p_realpath(path, buf) == NULL)
error = GIT_EOSERR;
}
else
error = git_buf_sets(path_out, buf);
return error;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment