1
0
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:
mguessan 2011-08-13 21:22:45 +00:00
parent ed14e65e82
commit 4fb681d009

View File

@ -225,10 +225,10 @@ public final class StringUtil {
if (result.indexOf('"') >= 0) { if (result.indexOf('"') >= 0) {
result = QUOTE_PATTERN.matcher(result).replaceAll("""); result = QUOTE_PATTERN.matcher(result).replaceAll(""");
} }
if (result.indexOf('\r') >=0) { if (result.indexOf('\r') >= 0) {
result = CR_PATTERN.matcher(result).replaceAll("
"); result = CR_PATTERN.matcher(result).replaceAll("
");
} }
if (result.indexOf('\n') >=0) { if (result.indexOf('\n') >= 0) {
result = LF_PATTERN.matcher(result).replaceAll("
"); result = LF_PATTERN.matcher(result).replaceAll("
");
} }
} }
@ -330,33 +330,35 @@ public final class StringUtil {
*/ */
public static String decodeUrlcompname(String urlcompname) { public static String decodeUrlcompname(String urlcompname) {
String result = urlcompname; String result = urlcompname;
if (result.indexOf((char) 0xF8FF) >= 0) { if (result != null) {
result = URLENCODED_F8FF_PATTERN.matcher(result).replaceAll("_xF8FF_"); 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("%26") >= 0) {
} result = URLENCODED_AMP_PATTERN.matcher(result).replaceAll("&");
if (result.indexOf("%2B") >= 0) { }
result = URLENCODED_PLUS_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("%3A") >= 0) {
} result = URLENCODED_COLON_PATTERN.matcher(result).replaceAll(":");
if (result.indexOf("%3C") >= 0) { }
result = URLENCODED_LT_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("%3E") >= 0) {
} result = URLENCODED_GT_PATTERN.matcher(result).replaceAll(">");
if (result.indexOf("%22") >= 0) { }
result = URLENCODED_QUOTE_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) { // CRLF is replaced with LF in response
result = URLENCODED_X0D0A_PATTERN.matcher(result).replaceAll("_x000D__x000A_"); 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.indexOf("%25") >= 0) {
result = URLENCODED_PERCENT_PATTERN.matcher(result).replaceAll("%");
}
} }
return result; return result;
} }