Skip to content

Commit 26b64d6

Browse files
committed
fix extracting error when only a single directory and no files
1 parent 0d56e23 commit 26b64d6

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

Applications/Ice/Main/Sources/Presenters/Extract/ExtractFacade.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ private void Invoke(ArchiveReader src, int index, ExtractDirectory dir)
181181
Retry(() => src.Save(Temp, item, GetProgress()));
182182

183183
var dest = Io.Combine(Temp, item.FullName);
184-
if (FormatFactory.From(dest) != Format.Tar) Transfer(item);
184+
if (Io.IsDirectory(dest) || FormatFactory.From(dest) != Format.Tar) Transfer(item);
185185
else
186186
{
187187
using var e = new ArchiveReader(dest, Password, src.Options);
178 Bytes
Binary file not shown.

Tests/Ice/Sources/ExtractTest.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,13 @@ public static IEnumerable<TestCaseData> TestCases { get
359359
}
360360
);
361361

362+
yield return new(
363+
@"RootDirectory\SigleDirectoryNoFiles",
364+
new[] { "SigleDirectoryNoFiles.zip" },
365+
GetPathArgs("RootDirectory"),
366+
new ExtractionSettingValue { SaveMethod = SaveMethod.CreateSmart }
367+
);
368+
362369
yield return new(
363370
@"Tar\TarSample",
364371
new[] { "Sample.tar" },

0 commit comments

Comments
 (0)