Support quoted parameters

iCalendar RFC http://www.ietf.org/rfc/rfc2445.txt says:
4.1.1 List and Field Separators
   Property parameters with values containing a COLON, a SEMICOLON or a
   COMMA character MUST be placed in quoted text.

So we must be able to support this.

Bug: 3463510
Change-Id: Ie0463fdc2d5cbc340801cc8cc5b4f00e374f2954
This commit is contained in:
Alon Albert
2011-02-17 18:10:14 -08:00
parent 3259d88537
commit 06912bddc6

View File

@@ -578,6 +578,23 @@ public class ICalendar {
+ text);
}
parameter.name = text.substring(startIndex + 1, equalIndex);
} else if (c == '"') {
if (parameter == null) {
throw new FormatException("Expected parameter before '\"' in " + text);
}
if (equalIndex == -1) {
throw new FormatException("Expected '=' within parameter in " + text);
}
if (state.index > equalIndex + 1) {
throw new FormatException("Parameter value cannot contain a '\"' in " + text);
}
final int endQuote = text.indexOf('"', state.index + 1);
if (endQuote < 0) {
throw new FormatException("Expected closing '\"' in " + text);
}
parameter.value = text.substring(state.index + 1, endQuote);
state.index = endQuote + 1;
return parameter;
}
++state.index;
}