mirror of
https://github.com/revanced/smali.git
synced 2025-05-09 10:54:29 +02:00
Correctly handle duplicate (except case) reserved file names on windows
This commit is contained in:
parent
b58433a074
commit
06bc17a75e
@ -58,7 +58,6 @@ public class ClassFileNameHandler {
|
||||
throw new RuntimeException("Not a valid dalvik class name");
|
||||
}
|
||||
|
||||
String blah;
|
||||
int packageElementCount = 1;
|
||||
for (int i=1; i<className.length()-1; i++) {
|
||||
if (className.charAt(i) == '/') {
|
||||
@ -66,6 +65,7 @@ public class ClassFileNameHandler {
|
||||
}
|
||||
}
|
||||
|
||||
String packageElement;
|
||||
String[] packageElements = new String[packageElementCount];
|
||||
int elementIndex = 0;
|
||||
int elementStart = 1;
|
||||
@ -77,7 +77,13 @@ public class ClassFileNameHandler {
|
||||
throw new RuntimeException("Not a valid dalvik class name");
|
||||
}
|
||||
|
||||
packageElements[elementIndex++] = className.substring(elementStart, i);
|
||||
packageElement = className.substring(elementStart, i);
|
||||
|
||||
if (modifyWindowsReservedFilenames && isReservedFileName(packageElement)) {
|
||||
packageElement += "#";
|
||||
}
|
||||
|
||||
packageElements[elementIndex++] = packageElement;
|
||||
elementStart = ++i;
|
||||
}
|
||||
}
|
||||
@ -89,7 +95,13 @@ public class ClassFileNameHandler {
|
||||
if (elementStart >= className.length()-1) {
|
||||
throw new RuntimeException("Not a valid dalvik class name");
|
||||
}
|
||||
packageElements[elementIndex] = className.substring(elementStart, className.length()-1);
|
||||
|
||||
packageElement = className.substring(elementStart, className.length()-1);
|
||||
if (modifyWindowsReservedFilenames && isReservedFileName(packageElement)) {
|
||||
packageElement += "#";
|
||||
}
|
||||
|
||||
packageElements[elementIndex] = packageElement;
|
||||
|
||||
return top.addUniqueChild(packageElements, 0);
|
||||
}
|
||||
@ -170,15 +182,9 @@ public class ClassFileNameHandler {
|
||||
|
||||
if (pathElementsIndex == pathElements.length - 1) {
|
||||
elementName = pathElements[pathElementsIndex];
|
||||
if (modifyWindowsReservedFilenames && isReservedFileName(elementName)) {
|
||||
elementName += "#";
|
||||
}
|
||||
elementName += fileExtension;
|
||||
} else {
|
||||
elementName = pathElements[pathElementsIndex];
|
||||
if (modifyWindowsReservedFilenames && isReservedFileName(elementName)) {
|
||||
elementName += "#";
|
||||
}
|
||||
}
|
||||
elementNameLower = elementName.toLowerCase();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user