From fbc83c0cdd390473c044953fb774571ffc636c6d Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Tue, 4 Oct 2016 12:44:14 +0200 Subject: [PATCH] tools: Ignore existing directories in gpgtar. * tools/gpgtar-extract.c (extract_directory): Ignore existing directories now that we have '--directory'. Signed-off-by: Justus Winter --- tools/gpgtar-extract.c | 8 ++++++-- 1 file 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