Merge pull request #2425 from cgwalters/hardlink-correct-errno

checkout: Save errno when re-throwing
This commit is contained in:
Luca Bruno authored and GitHub committed 2021-08-27 07:33:27 +00:00
commit 7fb0266df6
1 file changed
+2
+2
View File
@@ -481,6 +481,7 @@ checkout_file_hardlink (OstreeRepo *self,
} }
else if (errno == EEXIST) else if (errno == EEXIST)
{ {
int saved_errno = errno;
/* When we get EEXIST, we need to handle the different overwrite modes. */ /* When we get EEXIST, we need to handle the different overwrite modes. */
switch (options->overwrite_mode) switch (options->overwrite_mode)
{ {
@@ -566,6 +567,7 @@ checkout_file_hardlink (OstreeRepo *self,
else else
{ {
g_assert_cmpint (options->overwrite_mode, ==, OSTREE_REPO_CHECKOUT_OVERWRITE_UNION_IDENTICAL); g_assert_cmpint (options->overwrite_mode, ==, OSTREE_REPO_CHECKOUT_OVERWRITE_UNION_IDENTICAL);
errno = saved_errno;
return glnx_throw_errno_prefix (error, "Hardlinking %s to %s", loose_path, destination_name); return glnx_throw_errno_prefix (error, "Hardlinking %s to %s", loose_path, destination_name);
} }
break; break;