aboutsummaryrefslogtreecommitdiffstats
path: root/libical/src
diff options
context:
space:
mode:
Diffstat (limited to 'libical/src')
-rw-r--r--libical/src/libical/icalvalue.c40
1 files changed, 28 insertions, 12 deletions
diff --git a/libical/src/libical/icalvalue.c b/libical/src/libical/icalvalue.c
index 8c5c1303ea..459bebe830 100644
--- a/libical/src/libical/icalvalue.c
+++ b/libical/src/libical/icalvalue.c
@@ -181,18 +181,39 @@ char* icalmemory_strdup_and_dequote(const char* str)
}
case 'n':
+ case 'N':
{
*pout = '\n';
break;
}
- case 'N':
+ case 't':
+ case 'T':
{
- *pout = '\n';
+ *pout = '\t';
+ break;
+ }
+ case 'r':
+ case 'R':
+ {
+ *pout = '\r';
+ break;
+ }
+ case 'b':
+ case 'B':
+ {
+ *pout = '\b';
+ break;
+ }
+ case 'f':
+ case 'F':
+ {
+ *pout = '\f';
break;
}
- case '\\':
- case ',':
case ';':
+ case ',':
+ case '"':
+ case '\\':
{
*pout = *p;
break;
@@ -665,14 +686,9 @@ char* icalvalue_text_as_ical_string(icalvalue* value) {
}
case ';':
- case ',':{
- icalmemory_append_char(&str,&str_p,&buf_sz,'\\');
- icalmemory_append_char(&str,&str_p,&buf_sz,*p);
- line_length+=3;
- break;
- }
-
- case '"':{
+ case ',':
+ case '"':
+ case '\\':{
icalmemory_append_char(&str,&str_p,&buf_sz,'\\');
icalmemory_append_char(&str,&str_p,&buf_sz,*p);
line_length+=3;