aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOskari Timperi <oskari.timperi@iki.fi>2012-09-21 09:45:08 +0300
committerOskari Timperi <oskari.timperi@iki.fi>2012-09-21 09:45:08 +0300
commitae76cd4fcba1430153c0db3c79913f756f01bf76 (patch)
tree040c5847ae08dd224b03529dd616faa2f3bc7efd
parent208fb6ddde7ad5ea28cd36cb0d11d8d860c84bde (diff)
downloadcalendar-ae76cd4fcba1430153c0db3c79913f756f01bf76.tar.gz
calendar-ae76cd4fcba1430153c0db3c79913f756f01bf76.zip
fix handling of characters
-rw-r--r--src/ical.peg14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/ical.peg b/src/ical.peg
index b781b8e..9d6d29f 100644
--- a/src/ical.peg
+++ b/src/ical.peg
@@ -76,23 +76,25 @@ Value "Value"
QuotedString "QuotedString"
= '"' chars:QSAFE_CHAR* '"' { return '"' + chars.join("") + '"'; }
+// Not double quote or CONTROL
QSAFE_CHAR "QSAFE_CHAR"
- = [ \t\x21\x23-\x7E]
- / NON_US_ASCII
+ = [^"\x00-\x08\x0A-\x1F\x7F]
+// Any but double quote, control, ;, :, ,
SAFE_CHAR "SAFE_CHAR"
- = [ \t\x21\x23-\x2B\x2D-\x39\x3C-\x7E]
- / NON_US_ASCII
+ = [^"\x00-\x08\x0A-\x1F\x7F;:,]
VALUE_CHAR "VALUE_CHAR"
- = [ \t\x21-\x7E]
- / NON_US_ASCII
+ = [^\x00-\x08\x0A-\x1F\x7F]
NON_US_ASCII
= UTF8_2
/ UTF8_3
/ UTF8_4
+CONTROL
+ = [\x00-\x08\x0A-\x1F\x7F]
+
LineEnd "LineEnd"
= CR LF
/ LF