From 676b2d7081291f7e47a66755ab07af259fea130b Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Thu, 26 Nov 2015 17:05:12 +0100 Subject: tools/gpgtar: Add '--dry-run'. * tools/gpgtar-extract.c (extract_{regular,directory}): Honor '--dry-run'. * tools/gpgtar.c (enum cmd_and_opt_values): New value. (opts): Add '--dry-run'. (parse_arguments): Handle '--dry-run'. * tools/gpgtar.h (opt): Add field 'dry_run'. Signed-off-by: Justus Winter --- tools/gpgtar-extract.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'tools/gpgtar-extract.c') diff --git a/tools/gpgtar-extract.c b/tools/gpgtar-extract.c index 3b73c8506..728737d78 100644 --- a/tools/gpgtar-extract.c +++ b/tools/gpgtar-extract.c @@ -53,7 +53,10 @@ extract_regular (estream_t stream, const char *dirname, else err = 0; - outfp = es_fopen (fname, "wb"); + if (opt.dry_run) + outfp = es_fopenmem (0, "wb"); + else + outfp = es_fopen (fname, "wb"); if (!outfp) { err = gpg_error_from_syserror (); @@ -120,7 +123,7 @@ extract_directory (const char *dirname, tar_header_t hdr) /* Note that we don't need to care about EEXIST because we always extract into a new hierarchy. */ - if (gnupg_mkdir (fname, "-rwx------")) + if (! opt.dry_run && gnupg_mkdir (fname, "-rwx------")) { err = gpg_error_from_syserror (); if (gpg_err_code (err) == GPG_ERR_ENOENT) -- cgit v1.2.3