diff -uriwbB rra/lib/generator.c rra-recurrence-escape_fixed/lib/generator.c --- rra/lib/generator.c 2004-05-02 12:30:21.000000000 +0200 +++ rra-recurrence-escape_fixed/lib/generator.c 2005-05-13 11:22:27.000000000 +0200 @@ -246,6 +246,21 @@ return true; }/*}}}*/ +bool generator_add_simple_unescaped(Generator* self, const char* name, const char* value)/*{{{*/ +{ + if (STATE_IDLE != self->state) + { + synce_error("Missing call to generator_end_line()"); + return false; + } + + strbuf_append(self->buffer, name); + strbuf_append_c(self->buffer, ':'); + strbuf_append(self->buffer, value); + strbuf_append_crlf(self->buffer); + return true; +}/*}}}*/ + bool generator_add_with_type(Generator* self, const char* name, /*{{{*/ const char* type, const char* value) { diff -uriwbB rra/lib/generator.h rra-recurrence-escape_fixed/lib/generator.h --- rra/lib/generator.h 2004-01-04 21:22:08.000000000 +0100 +++ rra-recurrence-escape_fixed/lib/generator.h 2005-05-13 11:29:55.000000000 +0200 @@ -31,6 +31,7 @@ bool generator_get_result(Generator* self, char** result); bool generator_add_simple(Generator* self, const char* name, const char* value); +bool generator_add_simple_unescaped(Generator* self, const char* name, const char* value); bool generator_add_with_type(Generator* self, const char* name, const char* type, const char* value); bool generator_add_simple_propval(Generator* self, const char* name, struct _CEPROPVAL* propval); diff -uriwbB rra/lib/recurrence.c rra-recurrence-escape_fixed/lib/recurrence.c --- rra/lib/recurrence.c 2005-04-22 14:21:24.000000000 +0200 +++ rra-recurrence-escape_fixed/lib/recurrence.c 2005-05-13 11:24:06.000000000 +0200 @@ -157,7 +157,7 @@ recurrence_append_until_or_count(buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), pattern); - return generator_add_simple(g, "RRULE", buffer); + return generator_add_simple_unescaped(g, "RRULE", buffer); } static bool recurrence_generate_weekly_rrule( @@ -171,7 +171,7 @@ recurrence_append_until_or_count(buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), pattern); recurrence_append_byday (buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), pattern); - return generator_add_simple(g, "RRULE", buffer); + return generator_add_simple_unescaped(g, "RRULE", buffer); } static bool recurrence_generate_monthly_rrule( @@ -184,7 +184,7 @@ recurrence_append_until_or_count(buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), pattern); - return generator_add_simple(g, "RRULE", buffer); + return generator_add_simple_unescaped(g, "RRULE", buffer); } static bool recurrence_generate_monthnth_rrule( @@ -199,7 +199,7 @@ recurrence_append_until_or_count(buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), pattern); recurrence_append_byday (buffer + strlen(buffer), sizeof(buffer) - strlen(buffer), pattern); - return generator_add_simple(g, "RRULE", buffer); + return generator_add_simple_unescaped(g, "RRULE", buffer); } bool recurrence_generate_rrule(