in core/src/main/java/org/apache/ftpserver/impl/FtpReplyTranslator.java [137:174]
private static String replaceVariables(FtpIoSession session,
FtpRequest request, FtpServerContext context, int code,
String basicMsg, String str) {
int startIndex = 0;
int openIndex = str.indexOf('{', startIndex);
if (openIndex == -1) {
return str;
}
int closeIndex = str.indexOf('}', startIndex);
if ((closeIndex == -1) || (openIndex > closeIndex)) {
return str;
}
StringBuilder sb = new StringBuilder(128);
sb.append(str.substring(startIndex, openIndex));
while (true) {
String varName = str.substring(openIndex + 1, closeIndex);
sb.append(getVariableValue(session, request, context, code,
basicMsg, varName));
startIndex = closeIndex + 1;
openIndex = str.indexOf('{', startIndex);
if (openIndex == -1) {
sb.append(str.substring(startIndex));
break;
}
closeIndex = str.indexOf('}', startIndex);
if ((closeIndex == -1) || (openIndex > closeIndex)) {
sb.append(str.substring(startIndex));
break;
}
sb.append(str.substring(startIndex, openIndex));
}
return sb.toString();
}