summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2017-03-28 09:12:34 +0200
committerPatrick Steinhardt <ps@pks.im>2017-04-04 11:58:46 +0200
commita76d75021c50315ab52d7a4e60419dc2e64c47e9 (patch)
treee64c9df5751cf25fc7d4d0556d79c29c2427b0bd
parentcffd616a7205d6b025f3736eb6c0a1ae9c3cd85d (diff)
downloadlibgit2-a76d75021c50315ab52d7a4e60419dc2e64c47e9.tar.gz
path: short-circuit `git_path_apply_relative` on error
Short-circuit the call to `git_path_resolve_relative` in case `git_buf_joinpath` returns an error. While this does not fix any immediate errors, the resulting code is easier to read and handles potential new error conditions raised by `git_buf_joinpath`.
-rw-r--r--src/path.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/path.c b/src/path.c
index 9b15c8cf9..b7205a646 100644
--- a/src/path.c
+++ b/src/path.c
@@ -826,8 +826,8 @@ int git_path_resolve_relative(git_buf *path, size_t ceiling)
int git_path_apply_relative(git_buf *target, const char *relpath)
{
- git_buf_joinpath(target, git_buf_cstr(target), relpath);
- return git_path_resolve_relative(target, 0);
+ return git_buf_joinpath(target, git_buf_cstr(target), relpath) ||
+ git_path_resolve_relative(target, 0);
}
int git_path_cmp(