| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This allows arbitrary precision for the GEO values
fixes: #531
|
|
|
|
| |
fixes: #574
|
|
|
|
| |
fixes: #489
|
| |
|
|
|
|
| |
`icaltime_t`, etc. and define it centrally in `config_public.h.cmake` and `config.h.cmake`. This allows for easy replacement, should the system-defined time_t not be suitable. This might especially be the case on 32-bit systems where the range of time_t ends 2038.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
allow accessing the same statistics from across multiple modules in case of dynamic linking. Previously the test executables couldn't access the statistics generated withing the libical shared library, because it didn't share the global statistics variable.
|
| |
|
|
|
|
| |
also use the regression ok() in the regular case.
|
|
|
|
|
| |
- icalrecur_test: free rrule.rscale using icalmemory, as it was also allocated via icalmemory.
- icalmessage: don't use icalmemory_strdup for now
|
|
|
|
|
|
| |
Introduce a new CMake option LIBICAL_DEVMODE_MEMORY_CONSISTENCY
that allows all the project libraries to be built with the
memory consistency functions.
|
| |
|
| |
|
|
|
|
| |
consistency and robustness of memory management.
|
|\ |
|
| |
| |
| |
| | |
have a zone This would result in strings like "DUE;TZID=America/Chicago:20220122" where the TZID wouldn't get removed even though the type is a DATE
|
| |
| |
| |
| | |
functions.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When setting an icaltimetype value, the passed-in structure can
have set a timezone, which is tight to the source component
of the passed-in value and which can be made invalid when the source
component is freed. As the structure is copied completely even
on clone of the component, then the 'zone' pointer can be passed
forward in the clones.
Related to https://bugzilla.redhat.com/show_bug.cgi?id=2038090
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
implicit conversion from time_t to int
|
| |
| |
| |
| |
| |
| | |
VEVENT and VTODO
icalcomponent_get_dtend() — return null-time, unless called on VEVENT, VAVAILABILITY or VFREEBUSY.
|
| |
| |
| |
| |
| |
| | |
VEVENT and VTODO
icalcomponent_get_dtend() — return null-time, unless called on VEVENT, VAVAILABILITY or VFREEBUSY.
|
|\ \
| |/ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In icalcomponent_get_dtend():
• when both DTEND and DURATION are missing,
set DTEND to DTSTART when the value-type of DTSTART is DATE-TIME,
otherwise set DTEND = DTSTART + 1 day, when the value-type of DTSTART is DATE
• throw an error, if both DTEND and DURATION are present, as it is done in icalcomponent_get_duration()
In icalcomponent_get_duration():
• if DTEND and DURATION are missing and
the value-type of DTSTART is DATE-TIME return zero duration;
otherwise, if the value-type of DTSTART is DATE, return one day duration
• do not throw an error, if DTEND and DURATION are missing
In icalcomponent_get_span() account for the fact, that icalcomponent_get_dtend()
returns the correct DTEND, based on the value-type of DTSTART, when DTEND is missing.
Likewise for icalcomponent_foreach_recurrence().
Adjust test/regression-component.c to assume span.start == span.end,
when the event has only DTSTART and its value-type is DATE-TIME.
|
|\ \
| | |
| | | |
icalcomponent.c: handle the case, when DTEND and DURATION are missing
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In icalcomponent_get_dtend():
• when both DTEND and DURATION are missing,
set DTEND to DTSTART when the value-type of DTSTART is DATE-TIME,
otherwise set DTEND = DTSTART + 1 day, when the value-type of DTSTART is DATE
• throw an error, if both DTEND and DURATION are present, as it is done in icalcomponent_get_duration()
In icalcomponent_get_duration():
• if DTEND and DURATION are missing and
the value-type of DTSTART is DATE-TIME return zero duration;
otherwise, if the value-type of DTSTART is DATE, return one day duration
• do not throw an error, if DTEND and DURATION are missing
In icalcomponent_get_span() account for the fact, that icalcomponent_get_dtend()
returns the correct DTEND, based on the value-type of DTSTART, when DTEND is missing.
Likewise for icalcomponent_foreach_recurrence().
Adjust test/regression-component.c to assume span.start == span.end,
when the event has only DTSTART and its value-type is DATE-TIME.
|
|\ \ \
| |/ /
|/| /
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rather than increase the CMake version requirement to 3.7,
in order to upgrade from our less-than-perfect home-grown
FindICU we copy in the official CMake version and use that.
This seems to fix static linking problems with ICU on Windows.
It may also fix static linking on other platforms.
|
| |\
| | |
| | | |
libical-glib: Simplify memory management around ICalCompIter
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, before this change, the components returned from
the ICalCompIter structures did not hold the reference to the parent
component, thus the parent component could be freed before the returned
instance, effectively destroying the internal libical native structure.
There was required to set the owner manually before, but it breaks
abstraction and is easy to forget.
This change makes all these things transparent. The old code does not need
to be changed, because it should set the same owner anyway, thus the call
results in no change on the ownership of the returned components.
|
| |/
| |
| |
| | |
conversion from size_t to unsigned long
|
| |
| |
| |
| |
| |
| | |
Some arches (like aarch64, ppc64le and s390x) may not match the EOF
constant against its value cast to 'char'. That breaks the parser and
can cause an indefinite read of the content, with growing memory use.
|
| |
| |
| |
| | |
To avoid memory leak.
|
| |
| |
| |
| | |
recurrences
|
| |
| |
| |
| |
| |
| | |
Some arches (like aarch64, ppc64le and s390x) may not match the EOF
constant against its value cast to 'char'. That breaks the parser and
can cause an indefinite read of the content, with growing memory use.
|
| |
| |
| |
| | |
To avoid memory leak.
|
| |
| |
| |
| | |
Fix a few Python whitespace errors found by Syntastic.
|
| |
| |
| |
| | |
recurrences
|
|\ \
| |/ |
|
| |
| |
| |
| | |
we don't require C99 mode. found on travis
|
| |
| |
| |
| | |
makes travis happy
|
| |
| |
| |
| | |
current testing shows we no longer need the higher threshold
|