diff options
author | Allen Winter <allen.winter@kdab.com> | 2022-10-05 11:40:59 -0400 |
---|---|---|
committer | Allen Winter <allen.winter@kdab.com> | 2022-10-05 11:40:59 -0400 |
commit | ab3c5b8abbfe6510b0f38a2bb64577f84359c2c7 (patch) | |
tree | ea30bdce41dccf46801338b06a555c17cb4891a1 | |
parent | 9a7c90829d39d258022dd599e5feaef5729822d7 (diff) | |
download | libical-git-ab3c5b8abbfe6510b0f38a2bb64577f84359c2c7.tar.gz |
icalcomponent_vanew - document passing NULL as final argumentissue585
fixes: #585
-rw-r--r-- | src/libical/icalcomponent.c | 2 | ||||
-rw-r--r-- | src/libical/icalcomponent.h | 2 | ||||
-rw-r--r-- | src/test/regression.c | 12 |
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[]) |