in kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/ToolUtil.java [35:80]
public static KOptions parseOptions(String[] commands, int beginIndex, int endIndex) {
KadminOption kOption;
String opt, error, param;
if (beginIndex < 0) {
System.out.println("Invalid function parameter(s).");
return null;
}
KOptions kOptions = new KOptions();
int i = beginIndex;
while (i <= endIndex) {
error = null;
opt = commands[i++];
if (opt.startsWith("-")) {
kOption = KadminOption.fromName(opt);
if (kOption == KadminOption.NONE) {
error = "Invalid option:" + opt;
}
} else {
kOption = KadminOption.NONE;
error = "Invalid parameter:" + opt + " , it does not belong to any option.";
}
if (kOption != KadminOption.NONE && kOption.getOptionInfo().getType() != KOptionType.NOV) {
// require a parameter
param = null;
if (i <= endIndex) {
param = commands[i++];
}
if (param != null) {
kOptions.parseSetValue(kOption.getOptionInfo(), param);
} else {
error = "Option " + opt + " require a parameter";
}
}
if (error != null) {
System.out.println(error);
return null;
}
if (kOption != KadminOption.NONE) {
kOptions.add(kOption);
}
}
return kOptions;
}