diff options
-rw-r--r-- | libical/ChangeLog | 5 | ||||
-rw-r--r-- | libical/src/libical/icaltimezone.c | 22 |
2 files changed, 26 insertions, 1 deletions
diff --git a/libical/ChangeLog b/libical/ChangeLog index 70c28eb878..115c47239d 100644 --- a/libical/ChangeLog +++ b/libical/ChangeLog @@ -1,3 +1,8 @@ +2001-07-25 Damon Chaplin <damon@ximian.com> + + * src/libical/icaltimezone.c: accept an icaltimezone* of NULL for all + the public functions, since NULL is used to represent floating times. + 2001-07-25 JP Rosevear <jpr@ximian.com> * src/libical/icalparameter.c (icalparameter_as_ical_string): if diff --git a/libical/src/libical/icaltimezone.c b/libical/src/libical/icaltimezone.c index 300ac7924e..ca91d881da 100644 --- a/libical/src/libical/icaltimezone.c +++ b/libical/src/libical/icaltimezone.c @@ -1133,7 +1133,7 @@ icaltimezone_adjust_change (icaltimezonechange *tt, char* icaltimezone_get_tzid (icaltimezone *zone) { - /* If this is a local time, without a timezone, return NULL. */ + /* If this is a floating time, without a timezone, return NULL. */ if (!zone) return NULL; @@ -1147,6 +1147,10 @@ icaltimezone_get_tzid (icaltimezone *zone) char* icaltimezone_get_location (icaltimezone *zone) { + /* If this is a floating time, without a timezone, return NULL. */ + if (!zone) + return NULL; + /* Note that for builtin timezones this comes from zones.tab so we don't need to check the timezone is loaded here. */ return zone->location; @@ -1156,6 +1160,10 @@ icaltimezone_get_location (icaltimezone *zone) char* icaltimezone_get_tznames (icaltimezone *zone) { + /* If this is a floating time, without a timezone, return NULL. */ + if (!zone) + return NULL; + if (!zone->component) icaltimezone_load_builtin_timezone (zone); @@ -1167,6 +1175,10 @@ icaltimezone_get_tznames (icaltimezone *zone) double icaltimezone_get_latitude (icaltimezone *zone) { + /* If this is a floating time, without a timezone, return 0. */ + if (!zone) + return 0.0; + /* Note that for builtin timezones this comes from zones.tab so we don't need to check the timezone is loaded here. */ return zone->latitude; @@ -1177,6 +1189,10 @@ icaltimezone_get_latitude (icaltimezone *zone) double icaltimezone_get_longitude (icaltimezone *zone) { + /* If this is a floating time, without a timezone, return 0. */ + if (!zone) + return 0.0; + /* Note that for builtin timezones this comes from zones.tab so we don't need to check the timezone is loaded here. */ return zone->longitude; @@ -1187,6 +1203,10 @@ icaltimezone_get_longitude (icaltimezone *zone) icalcomponent* icaltimezone_get_component (icaltimezone *zone) { + /* If this is a floating time, without a timezone, return NULL. */ + if (!zone) + return NULL; + if (!zone->component) icaltimezone_load_builtin_timezone (zone); |