mirror of
https://git.proxmox.com/git/libgit2
synced 2025-12-29 18:56:27 +00:00
path: don't let direach overwrite the callback's error message
This function deals with functions doing IO which means the amount of errors that can happen is quit large. It does not help if it always ovewrites the underlying error message with a less understandable version of "something went wrong". Instead, only use this generic message if there was no error set by the callback.
This commit is contained in:
parent
9042693e28
commit
8a4d77f990
@ -1060,11 +1060,13 @@ int git_path_direach(
|
||||
if ((error = git_buf_put(path, de_path, de_len)) < 0)
|
||||
break;
|
||||
|
||||
giterr_clear();
|
||||
error = fn(arg, path);
|
||||
|
||||
git_buf_truncate(path, wd_len); /* restore path */
|
||||
|
||||
if (error != 0) {
|
||||
/* Only set our own error if the callback did not set one already */
|
||||
if (error != 0 && !giterr_last()) {
|
||||
giterr_set_after_callback(error);
|
||||
break;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user