Index: src/test/regression.c =================================================================== --- src/test/regression.c (revision 1031) +++ src/test/regression.c (working copy) @@ -3395,11 +3395,9 @@ test_str_parsed = icalcomponent_as_ical_string(c); -#if ADD_TESTS_REQUIRING_INVESTIGATION is("parsed version with bad chars, etc", test_str_parsed, test_str_parsed_good); -#endif inner = icalcomponent_get_inner(c); @@ -3509,9 +3507,7 @@ if (VERBOSE) printf("%s\n",icalproperty_as_ical_string(p)); ok("COMMENT property",(icalproperty_isa(p) == ICAL_COMMENT_PROPERTY)); -#if ADD_TESTS_REQUIRING_INVESTIGATION is("COMMENT parses param", icalproperty_get_comment(p)," This is a note"); -#endif icalproperty_set_parameter_from_string(p,"X-LIES", "no"); icalproperty_set_parameter_from_string(p,"X-LAUGHS", "big"); @@ -3542,10 +3538,8 @@ ok("x-property is correct kind",(icalproperty_isa(p) == ICAL_X_PROPERTY)); is("icalproperty_get_x_name() works", icalproperty_get_x_name(p),"X-LIC-PROPERTY"); -#if ADD_TESTS_REQUIRING_INVESTIGATION is("icalproperty_get_x() works", icalproperty_get_x(p)," This is a note"); -#endif icalproperty_free(p); } Index: src/libical/icalparser.c =================================================================== --- src/libical/icalparser.c (revision 1027) +++ src/libical/icalparser.c (working copy) @@ -247,7 +247,7 @@ return 0; } - /* There is no ';' or, it is after the ';' that marks the beginning of + /* There is no ';' or, it is after the ':' that marks the beginning of the value */ if (v!=0 && ( p == 0 || p > v)){ str = make_segment(line,v); @@ -459,7 +459,7 @@ while(1) { /* The first part of the loop deals with the temp buffer, - which was read on he last pass through the loop. The + which was read on the last pass through the loop. The routine is split like this because it has to read lone line ahead to determine if a line is a continuation line. */ @@ -1060,13 +1060,23 @@ */ case ICAL_FREEBUSY_PROPERTY: str = parser_get_next_value(end,&end, value_kind); - strstriplt (str); break; default: str = icalparser_get_value(end, &end, value_kind); - strstriplt (str); break; } + + /* Transform value string depending on the kind we expect. */ + switch (value_kind) { + case ICAL_STRING_VALUE: + case ICAL_TEXT_VALUE: + /* X values could be anything, so assume nothing */ + case ICAL_X_VALUE: + break; + default: + strstriplt (str); + break; + } if (str != 0){