sharpcompress icon indicating copy to clipboard operation
sharpcompress copied to clipboard

WriteEntryToDirectory not working on Linux

Open JoshClose opened this issue 5 years ago • 3 comments

The .zip file was created on Windows. I'm not sure if that matters or not.

In ExtractionMethods.WriteEntryToDirectory the second line makes a call to Path.GetFileName(entry.Key). The key looks like "a\\b.txt". Since this is running on Linux the file name I get back is "a\\b.txt" instead of "b.txt". This is causing all the files to have names like a\b.txt instead of creating the folder structure and putting the file in it.

JoshClose avatar Sep 02 '20 21:09 JoshClose

Looks like zips created with 7zip and with Windows Send to Compressed (zipped) folder both create entries with keys using / and not \. I'll figure out how this file was created.

JoshClose avatar Sep 02 '20 22:09 JoshClose

It was created using PowerShell's Compress-Archive module. A bug was submitted that was fixed and released in PowerShell 6.2.1 and 7.0.

Would it be beneficial to try and handle invalid zip files like this?

JoshClose avatar Sep 03 '20 00:09 JoshClose

I don't believe it is. Slashes mean directories in zip keys. If there's an extra one, that's not the fault of the decoder. The encoder shouldn't have it.

adamhathcock avatar Sep 03 '20 09:09 adamhathcock