From 7b8d4345fe3671e0d6fe0dab23ba1212d564a172 Mon Sep 17 00:00:00 2001 From: Jesse Pavel Date: Fri, 27 Oct 2000 20:34:53 +0000 Subject: Fixed icalproperty_remove_parameter(). svn path=/trunk/; revision=6239 --- libical/ChangeLog | 5 +++++ libical/src/libical/icalproperty.c | 19 ++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/libical/ChangeLog b/libical/ChangeLog index 4b077f01ee..8b902fd4a9 100644 --- a/libical/ChangeLog +++ b/libical/ChangeLog @@ -1,3 +1,8 @@ +2000-10-20 Jesse Pavel + + * src/libical/icalproperty.c: added support for the + icalproperty_remove_parameter() function. + 2000-10-11 Damon Chaplin * src/libical/icalparameter.c (icalparameter_as_ical_string): diff --git a/libical/src/libical/icalproperty.c b/libical/src/libical/icalproperty.c index 1040215108..b63c8a960a 100644 --- a/libical/src/libical/icalproperty.c +++ b/libical/src/libical/icalproperty.c @@ -382,9 +382,26 @@ icalproperty_add_parameter (icalproperty* prop,icalparameter* parameter) void icalproperty_remove_parameter (icalproperty* prop, icalparameter_kind kind) { + struct icalproperty_impl *p = (struct icalproperty_impl*)prop; + icalparameter *param; + pvl_elem elem; + icalerror_check_arg_rv((prop!=0),"prop"); - assert(0); /* This routine is not implemented */ + /* This routine is now implemented, so disregard the following + assertion. */ + /* assert(0); */ + + elem = pvl_head (p->parameters); + while (elem != NULL) { + param = (icalparameter *)pvl_data (elem); + if (icalparameter_isa (param) == kind) { + pvl_remove (p->parameters, elem); + icalparameter_free (param); + break; + } + elem = pvl_next (elem); + } } -- cgit v1.2.3