tools: Ignore existing directories in gpgtar.
authorJustus Winter <justus@g10code.com>
Tue, 4 Oct 2016 10:44:14 +0000 (12:44 +0200)
committerJustus Winter <justus@g10code.com>
Tue, 4 Oct 2016 11:23:17 +0000 (13:23 +0200)
* tools/gpgtar-extract.c (extract_directory): Ignore existing
directories now that we have '--directory'.

Signed-off-by: Justus Winter <justus@g10code.com>
tools/gpgtar-extract.c

index cee609c..8641126 100644 (file)
@@ -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