From aa3217ae5896ce91362b53ab542b136616eafbba Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Tue, 22 Jun 2021 19:40:35 +0100 Subject: [PATCH] Fix creation of destination folders when extracting files. Fixes #431 --- Aaru/Commands/Filesystem/ExtractFiles.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Aaru/Commands/Filesystem/ExtractFiles.cs b/Aaru/Commands/Filesystem/ExtractFiles.cs index aa04a77f8..aad946457 100644 --- a/Aaru/Commands/Filesystem/ExtractFiles.cs +++ b/Aaru/Commands/Filesystem/ExtractFiles.cs @@ -360,8 +360,6 @@ namespace Aaru.Commands.Filesystem if(stat.Attributes.HasFlag(FileAttributes.Directory)) { - Directory.CreateDirectory(Path.Combine(outputDir, fs.XmlFsType.Type, volumeName)); - outputPath = Path.Combine(outputDir, fs.XmlFsType.Type, volumeName, path, entry); Directory.CreateDirectory(outputPath); @@ -422,11 +420,11 @@ namespace Aaru.Commands.Filesystem if(error != Errno.NoError) continue; - Directory.CreateDirectory(Path.Combine(outputDir, fs.XmlFsType.Type, volumeName, - ".xattrs", xattr)); + outputPath = Path.Combine(outputDir, fs.XmlFsType.Type, volumeName, path); - outputPath = Path.Combine(outputDir, fs.XmlFsType.Type, volumeName, ".xattrs", xattr, - path, entry); + Directory.CreateDirectory(outputPath); + + outputPath = Path.Combine(outputPath, entry); if(!File.Exists(outputPath)) { @@ -476,9 +474,11 @@ namespace Aaru.Commands.Filesystem } } - Directory.CreateDirectory(Path.Combine(outputDir, fs.XmlFsType.Type, volumeName)); + outputPath = Path.Combine(outputDir, fs.XmlFsType.Type, volumeName, path); - outputPath = Path.Combine(outputDir, fs.XmlFsType.Type, volumeName, path, entry); + Directory.CreateDirectory(outputPath); + + outputPath = Path.Combine(outputPath, entry); if(!File.Exists(outputPath)) {