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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user