Files with ambiguous names crash on extraction : Fixed

This commit is contained in:
cyph0r
2024-05-21 16:41:41 +05:30
parent aa896493fa
commit 4a2df9c868
@@ -202,24 +202,25 @@ public abstract class CompressedHelper {
*/
public static String getFileName(String compressedName) {
compressedName = compressedName.toLowerCase();
if (isZip(compressedName)
|| isTar(compressedName)
|| isRar(compressedName)
|| is7zip(compressedName)
|| isXz(compressedName)
|| isLzma(compressedName)
|| isGzip(compressedName)
|| compressedName.endsWith(fileExtensionGzipTarShort)
|| compressedName.endsWith(fileExtensionBzip2TarShort)
|| isGzip(compressedName)
|| isBzip2(compressedName)
|| isLzma(compressedName)
|| isXz(compressedName)) {
boolean hasFileName = compressedName.contains(".");
if (hasFileName && (isZip(compressedName)
|| isTar(compressedName)
|| isRar(compressedName)
|| is7zip(compressedName)
|| isXz(compressedName)
|| isLzma(compressedName)
|| isGzip(compressedName)
|| compressedName.endsWith(fileExtensionGzipTarShort)
|| compressedName.endsWith(fileExtensionBzip2TarShort)
|| isGzip(compressedName)
|| isBzip2(compressedName)
|| isLzma(compressedName)
|| isXz(compressedName))) {
return compressedName.substring(0, compressedName.lastIndexOf("."));
} else if (isGzippedTar(compressedName)
|| isXzippedTar(compressedName)
|| isLzippedTar(compressedName)
|| isBzippedTar(compressedName)) {
} else if (hasFileName && isGzippedTar(compressedName)
|| isXzippedTar(compressedName)
|| isLzippedTar(compressedName)
|| isBzippedTar(compressedName)) {
return compressedName.substring(0, Utils.nthToLastCharIndex(2, compressedName, '.'));
} else {
return compressedName;