mirror of
https://github.com/moparisthebest/davmail
synced 2024-12-13 11:12:22 -05:00
EWS: Allow null value in StringUtil.decodeUrlcompname
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@1775 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
ed14e65e82
commit
4fb681d009
@ -225,10 +225,10 @@ public final class StringUtil {
|
||||
if (result.indexOf('"') >= 0) {
|
||||
result = QUOTE_PATTERN.matcher(result).replaceAll(""");
|
||||
}
|
||||
if (result.indexOf('\r') >=0) {
|
||||
if (result.indexOf('\r') >= 0) {
|
||||
result = CR_PATTERN.matcher(result).replaceAll("
");
|
||||
}
|
||||
if (result.indexOf('\n') >=0) {
|
||||
if (result.indexOf('\n') >= 0) {
|
||||
result = LF_PATTERN.matcher(result).replaceAll("
");
|
||||
}
|
||||
}
|
||||
@ -330,33 +330,35 @@ public final class StringUtil {
|
||||
*/
|
||||
public static String decodeUrlcompname(String urlcompname) {
|
||||
String result = urlcompname;
|
||||
if (result.indexOf((char) 0xF8FF) >= 0) {
|
||||
result = URLENCODED_F8FF_PATTERN.matcher(result).replaceAll("_xF8FF_");
|
||||
}
|
||||
if (result.indexOf("%26") >= 0) {
|
||||
result = URLENCODED_AMP_PATTERN.matcher(result).replaceAll("&");
|
||||
}
|
||||
if (result.indexOf("%2B") >= 0) {
|
||||
result = URLENCODED_PLUS_PATTERN.matcher(result).replaceAll("+");
|
||||
}
|
||||
if (result.indexOf("%3A") >= 0) {
|
||||
result = URLENCODED_COLON_PATTERN.matcher(result).replaceAll(":");
|
||||
}
|
||||
if (result.indexOf("%3C") >= 0) {
|
||||
result = URLENCODED_LT_PATTERN.matcher(result).replaceAll("<");
|
||||
}
|
||||
if (result.indexOf("%3E") >= 0) {
|
||||
result = URLENCODED_GT_PATTERN.matcher(result).replaceAll(">");
|
||||
}
|
||||
if (result.indexOf("%22") >= 0) {
|
||||
result = URLENCODED_QUOTE_PATTERN.matcher(result).replaceAll("\"");
|
||||
}
|
||||
// CRLF is replaced with LF in response
|
||||
if (result.indexOf('\n') >= 0) {
|
||||
result = URLENCODED_X0D0A_PATTERN.matcher(result).replaceAll("_x000D__x000A_");
|
||||
}
|
||||
if (result.indexOf("%25") >= 0) {
|
||||
result = URLENCODED_PERCENT_PATTERN.matcher(result).replaceAll("%");
|
||||
if (result != null) {
|
||||
if (result.indexOf((char) 0xF8FF) >= 0) {
|
||||
result = URLENCODED_F8FF_PATTERN.matcher(result).replaceAll("_xF8FF_");
|
||||
}
|
||||
if (result.indexOf("%26") >= 0) {
|
||||
result = URLENCODED_AMP_PATTERN.matcher(result).replaceAll("&");
|
||||
}
|
||||
if (result.indexOf("%2B") >= 0) {
|
||||
result = URLENCODED_PLUS_PATTERN.matcher(result).replaceAll("+");
|
||||
}
|
||||
if (result.indexOf("%3A") >= 0) {
|
||||
result = URLENCODED_COLON_PATTERN.matcher(result).replaceAll(":");
|
||||
}
|
||||
if (result.indexOf("%3C") >= 0) {
|
||||
result = URLENCODED_LT_PATTERN.matcher(result).replaceAll("<");
|
||||
}
|
||||
if (result.indexOf("%3E") >= 0) {
|
||||
result = URLENCODED_GT_PATTERN.matcher(result).replaceAll(">");
|
||||
}
|
||||
if (result.indexOf("%22") >= 0) {
|
||||
result = URLENCODED_QUOTE_PATTERN.matcher(result).replaceAll("\"");
|
||||
}
|
||||
// CRLF is replaced with LF in response
|
||||
if (result.indexOf('\n') >= 0) {
|
||||
result = URLENCODED_X0D0A_PATTERN.matcher(result).replaceAll("_x000D__x000A_");
|
||||
}
|
||||
if (result.indexOf("%25") >= 0) {
|
||||
result = URLENCODED_PERCENT_PATTERN.matcher(result).replaceAll("%");
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user