mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-16 16:16:04 -04:00
Add parser support for double dashes and list arguments
This commit is contained in:
parent
b0851c1592
commit
d54bfa6569
@ -399,20 +399,32 @@ public class JREUtils {
|
|||||||
ArrayList<String> parsedArguments = new ArrayList<>(0);
|
ArrayList<String> parsedArguments = new ArrayList<>(0);
|
||||||
args = args.trim().replace(" ", "");
|
args = args.trim().replace(" ", "");
|
||||||
//For each prefixes, we separate args.
|
//For each prefixes, we separate args.
|
||||||
for(String prefix : new String[]{"-XX:-","-XX:+", "-XX:","-"}){
|
for(String prefix : new String[]{"-XX:-","-XX:+", "-XX:","--","-"}){
|
||||||
while (true){
|
while (true){
|
||||||
int start = args.indexOf(prefix);
|
int start = args.indexOf(prefix);
|
||||||
if(start == -1) break;
|
if(start == -1) break;
|
||||||
//Get the end of the current argument
|
//Get the end of the current argument
|
||||||
int end = args.indexOf("-", start + prefix.length());
|
int end = args.indexOf("-", start + prefix.length());
|
||||||
if(end == -1) end = args.length();
|
if(end == -1) end = args.length();
|
||||||
|
|
||||||
//Extract it
|
//Extract it
|
||||||
String parsedSubString = args.substring(start, end);
|
String parsedSubString = args.substring(start, end);
|
||||||
args = args.replace(parsedSubString, "");
|
args = args.replace(parsedSubString, "");
|
||||||
|
|
||||||
//Check if two args aren't bundled together by mistake
|
//Check if two args aren't bundled together by mistake
|
||||||
if(parsedSubString.indexOf('=') == parsedSubString.lastIndexOf('='))
|
if(parsedSubString.indexOf('=') == parsedSubString.lastIndexOf('=')) {
|
||||||
|
int arraySize = parsedArguments.size();
|
||||||
|
if(arraySize > 0){
|
||||||
|
String lastString = parsedArguments.get(arraySize - 1);
|
||||||
|
// Looking for list elements
|
||||||
|
if(lastString.charAt(lastString.length() - 1) == ',' ||
|
||||||
|
parsedSubString.contains(",")){
|
||||||
|
parsedArguments.set(arraySize - 1, lastString + parsedSubString);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
parsedArguments.add(parsedSubString);
|
parsedArguments.add(parsedSubString);
|
||||||
|
}
|
||||||
else Log.w("JAVA ARGS PARSER", "Removed improper arguments: " + parsedSubString);
|
else Log.w("JAVA ARGS PARSER", "Removed improper arguments: " + parsedSubString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user