add: parts->inner_kind = icalcomponent_isa(inner);
context: void icalssutil_get_parts(icalcomponent* c,  			  struct icalclassify_parts* parts){    icalproperty *p;    icalcomponent *inner;    memset(parts,0,sizeof(struct icalclassify_parts));    parts->method = ICAL_METHOD_NONE;    parts->sequence = 0;    parts->reply_partstat = ICAL_PARTSTAT_NONE;    if(c == 0){	return;    }    parts->c = c;    p = icalcomponent_get_first_property(c,ICAL_METHOD_PROPERTY);    if(p!=0){	parts->method = icalproperty_get_method(p);    }    inner = icalcomponent_get_first_real_component(c);    p = icalcomponent_get_first_property(inner,ICAL_ORGANIZER_PROPERTY);    if(p!=0){	parts->organizer = strdup(icalproperty_get_organizer(p));    }    p = icalcomponent_get_first_property(inner,ICAL_SEQUENCE_PROPERTY);        if(p!=0){	parts->sequence = icalproperty_get_sequence(p);    }    p = icalcomponent_get_first_property(inner,ICAL_UID_PROPERTY);    if(p!=0){	parts->uid = strdup(icalproperty_get_uid(p));    }    p = icalcomponent_get_first_property(inner,ICAL_RECURRENCEID_PROPERTY);    if(p!=0){	parts->recurrence_id = icalproperty_get_recurrenceid(p);    }    p = icalcomponent_get_first_property(inner,ICAL_DTSTAMP_PROPERTY);    if(p!=0){	parts->dtstamp = icalproperty_get_dtstamp(p);    }    if(parts->method==ICAL_METHOD_REPLY){	icalparameter *param;	p  = icalcomponent_get_first_property(inner,ICAL_ATTENDEE_PROPERTY);	if(p!=0){	    param = icalproperty_get_first_parameter(p,ICAL_PARTSTAT_PARAMETER);	    	    if(param != 0){		parts->reply_partstat = 		    icalparameter_get_partstat(param);	    }	    	    parts->reply_attendee = strdup(icalproperty_get_attendee(p));	}    }    }