[Freeassociation-devel] Re-joining the list after accidentally unsubscribing
IGnatius T Foobar
room_libical at uncensored.citadel.org
Tue Apr 19 14:30:00 PDT 2011
>Please don't release yet though.
>I still have a backlog of patches and fixes to get through.
I found a bug that has crept into libical. It is definitely new, although
I cannot seem to pin down exactly where it is.
Originally I thought there was a problem with the expansion of recurring
events, but this is not the case; that was only where I was seeing symptoms
because my application code uses icalcomponent_remove_property() to remove
DTSTART and DTEND properties from an ICAL_VEVENT_COMPONENT and then replaces
them with the start and end times of the iteration.
The real problem is: icalcomponent_remove_property() is not working. It
appears to simply do nothing. Here is sample code to make the problem appear:
cptr = icalcomponent_get_first_component(Cal->cal, ICAL_VEVENT_COMPONENT);
if (cptr) {
/* Remove any existing DTSTART properties */
while ( ps =
icalcomponent_get_first_property(cptr, ICAL_DTSTART_PROPERTY),
ps != NULL
) {
icalcomponent_remove_property(cptr, ps);
}
}
This code will hang the program in an infinite loop.
I wonder if we can build a regression test for this?
-- Art
More information about the libical-devel
mailing list