aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tools/gpgtar-extract.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/gpgtar-extract.c b/tools/gpgtar-extract.c
index cee609c6a..864112624 100644
--- a/tools/gpgtar-extract.c
+++ b/tools/gpgtar-extract.c
@@ -122,11 +122,15 @@ extract_directory (const char *dirname, tar_header_t hdr)
if (fname[strlen (fname)-1] == '/')
fname[strlen (fname)-1] = 0;
- /* Note that we don't need to care about EEXIST because we always
- extract into a new hierarchy. */
if (! opt.dry_run && gnupg_mkdir (fname, "-rwx------"))
{
err = gpg_error_from_syserror ();
+ if (gpg_err_code (err) == GPG_ERR_EEXIST)
+ {
+ /* Ignore existing directories while extracting. */
+ err = 0;
+ }
+
if (gpg_err_code (err) == GPG_ERR_ENOENT)
{
/* Try to create the directory with parents but keep the