[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