aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Pavel <jpavel@src.gnome.org>2000-10-28 04:34:53 +0800
committerJesse Pavel <jpavel@src.gnome.org>2000-10-28 04:34:53 +0800
commit7b8d4345fe3671e0d6fe0dab23ba1212d564a172 (patch)
treedf97567630f49d4c55f599cce56b3b9bc2a53a1b
parent78a43af4b23250dc56e4a971915f274ab0da377d (diff)
downloadgsoc2013-evolution-7b8d4345fe3671e0d6fe0dab23ba1212d564a172.tar.gz
gsoc2013-evolution-7b8d4345fe3671e0d6fe0dab23ba1212d564a172.tar.zst
gsoc2013-evolution-7b8d4345fe3671e0d6fe0dab23ba1212d564a172.zip
Fixed icalproperty_remove_parameter().
svn path=/trunk/; revision=6239
-rw-r--r--libical/ChangeLog5
-rw-r--r--libical/src/libical/icalproperty.c19
2 files changed, 23 insertions, 1 deletions
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 <jpavel@helixcode.com>
+
+ * src/libical/icalproperty.c: added support for the
+ icalproperty_remove_parameter() function.
+
2000-10-11 Damon Chaplin <damon@helixcode.com>
* 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);
+ }
}