summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen Winter <allen.winter@kdab.com>2022-10-05 11:40:59 -0400
committerAllen Winter <allen.winter@kdab.com>2022-10-05 11:40:59 -0400
commitab3c5b8abbfe6510b0f38a2bb64577f84359c2c7 (patch)
treeea30bdce41dccf46801338b06a555c17cb4891a1
parent9a7c90829d39d258022dd599e5feaef5729822d7 (diff)
downloadlibical-git-issue585.tar.gz
icalcomponent_vanew - document passing NULL as final argumentissue585
fixes: #585
-rw-r--r--src/libical/icalcomponent.c2
-rw-r--r--src/libical/icalcomponent.h2
-rw-r--r--src/test/regression.c12
3 files changed, 5 insertions, 11 deletions
diff --git a/src/libical/icalcomponent.c b/src/libical/icalcomponent.c
index 04f61449..c89f4cfd 100644
--- a/src/libical/icalcomponent.c
+++ b/src/libical/icalcomponent.c
@@ -115,6 +115,8 @@ icalcomponent *icalcomponent_new(icalcomponent_kind kind)
icalcomponent *icalcomponent_vanew(icalcomponent_kind kind, ...)
{
+ /* See https://github.com/libical/libical/issues/585. Caller must pass NULL as final argument */
+
va_list args;
icalcomponent *impl = icalcomponent_new_impl(kind);
diff --git a/src/libical/icalcomponent.h b/src/libical/icalcomponent.h
index 2b00fee7..e0501bca 100644
--- a/src/libical/icalcomponent.h
+++ b/src/libical/icalcomponent.h
@@ -52,6 +52,8 @@ LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_clone(icalcomponent *compon
LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_new_from_string(const char *str);
/** @brief Constructor
+ *
+ * Make sure to pass NULL (not 0) as the final argument!
*/
LIBICAL_ICAL_EXPORT icalcomponent *icalcomponent_vanew(icalcomponent_kind kind, ...);
diff --git a/src/test/regression.c b/src/test/regression.c
index 130cdbfa..82b52915 100644
--- a/src/test/regression.c
+++ b/src/test/regression.c
@@ -4992,24 +4992,14 @@ void test_icalcomponent_with_lastmodified(void)
icalcomponent *comp;
struct icaltimetype lm = icaltime_from_timet_with_zone(1661280150, 0, NULL);
-#if 1
comp = icalcomponent_vanew(ICAL_VCALENDAR_COMPONENT,
icalproperty_new_version("2.0"),
icalproperty_new_prodid("PROD-ABC"),
icalproperty_new_uid("1234abcd"),
icalproperty_new_lastmodified(lm),
icalproperty_new_name("name1"),
- 0);
+ NULL); /* NOT 0! */
icalcomponent_free(comp);
-#else
- comp = icalcomponent_new(ICAL_VCALENDAR_COMPONENT);
- icalcomponent_add_property(comp, icalproperty_new_version("2.0"));
- icalcomponent_add_property(comp, icalproperty_new_prodid("PROD-ABC"));
- icalcomponent_add_property(comp, icalproperty_new_uid("1234abcd"));
- icalcomponent_add_property(comp, icalproperty_new_lastmodified(lm));
- icalcomponent_add_property(comp, icalproperty_new_name("name1"));
- icalcomponent_free(comp);
-#endif
}
int main(int argc, char *argv[])