From 878b8bfdcc3a8becfc46b9287a2d14cd3c875f28 Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Wed, 15 Nov 2017 09:54:05 +0100 Subject: [PATCH] gpgtar: Prefer --set-filename over implicit name * tools/gpgtar-extract.c: Prefer opt.filename over filename for the directory prefix. -- If you would extract from stdin (filename -) and use set-filename to provide a real filename the "-" would be used for the directory name. With this change an explicit filename is prefered. GnuPG-Bug-Id: T3500 Signed-off-by: Andre Heinecke --- tools/gpgtar-extract.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/gpgtar-extract.c b/tools/gpgtar-extract.c index b0e17cb10..8613d193f 100644 --- a/tools/gpgtar-extract.c +++ b/tools/gpgtar-extract.c @@ -345,15 +345,7 @@ gpgtar_extract (const char *filename, int decrypt) dirname = xtrystrdup (opt.directory); else { - if (filename) - { - dirprefix = strrchr (filename, '/'); - if (dirprefix) - dirprefix++; - else - dirprefix = filename; - } - else if (opt.filename) + if (opt.filename) { dirprefix = strrchr (opt.filename, '/'); if (dirprefix) @@ -361,6 +353,14 @@ gpgtar_extract (const char *filename, int decrypt) else dirprefix = opt.filename; } + else if (filename) + { + dirprefix = strrchr (filename, '/'); + if (dirprefix) + dirprefix++; + else + dirprefix = filename; + } if (!dirprefix || !*dirprefix) dirprefix = "GPGARCH";