[evolution-data-server] Remove fatal assertions from libecal.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Remove fatal assertions from libecal.
- Date: Fri, 3 Sep 2010 13:36:19 +0000 (UTC)
commit 29c1bebe037637ec7d51e8f51266186842e6dbe9
Author: Matthew Barnes <mbarnes redhat com>
Date: Fri Sep 3 09:27:53 2010 -0400
Remove fatal assertions from libecal.
Always return with a warning if at all possible when a programming error
is caught.
calendar/libecal/e-cal-check-timezones.c | 37 +++---
calendar/libecal/e-cal-component.c | 186 +++++++++++-------------------
calendar/libecal/e-cal-util.c | 33 ++----
calendar/libecal/e-cal.c | 19 ++--
4 files changed, 106 insertions(+), 169 deletions(-)
---
diff --git a/calendar/libecal/e-cal-check-timezones.c b/calendar/libecal/e-cal-check-timezones.c
index 175a8ce..01cb31a 100644
--- a/calendar/libecal/e-cal-check-timezones.c
+++ b/calendar/libecal/e-cal-check-timezones.c
@@ -456,7 +456,7 @@ e_cal_check_timezones (icalcomponent *comp,
* @custom: must be a valid ECal pointer
*
* An implementation of the tzlookup callback which clients
- * can use. Calls #e_cal_get_timezone.
+ * can use. Calls e_cal_get_timezone().
*
* Since: 2.24
*/
@@ -465,24 +465,25 @@ e_cal_tzlookup_ecal (const gchar *tzid,
gconstpointer custom,
GError **error)
{
- ECal *ecal = (ECal *)custom;
- icaltimezone *zone = NULL;
+ ECal *ecal = (ECal *)custom;
+ icaltimezone *zone = NULL;
+ GError *local_error = NULL;
- if (e_cal_get_timezone(ecal, tzid, &zone, error)) {
- g_assert(*error == NULL);
- return zone;
- } else {
- g_assert(*error);
- if ((*error)->domain == E_CALENDAR_ERROR &&
- (*error)->code == E_CALENDAR_STATUS_OBJECT_NOT_FOUND) {
- /*
- * we had to trigger this error to check for the timezone existance,
- * clear it and return NULL
- */
- g_clear_error(error);
- }
- return NULL;
- }
+ if (e_cal_get_timezone (ecal, tzid, &zone, &local_error)) {
+ g_warn_if_fail (local_error == NULL);
+ return zone;
+ }
+
+ if (g_error_matches (local_error, E_CALENDAR_ERROR,
+ E_CALENDAR_STATUS_OBJECT_NOT_FOUND)) {
+ /* We had to trigger this error to check for the
+ * timezone existance, clear it and return NULL. */
+ g_clear_error (&local_error);
+ }
+
+ g_propagate_error (error, local_error);
+
+ return NULL;
}
/**
diff --git a/calendar/libecal/e-cal-component.c b/calendar/libecal/e-cal-component.c
index 5f62c8a..d11b9a2 100644
--- a/calendar/libecal/e-cal-component.c
+++ b/calendar/libecal/e-cal-component.c
@@ -771,10 +771,10 @@ alarm_uid_from_prop (icalproperty *prop)
{
const gchar *xstr;
- g_assert (icalproperty_isa (prop) == ICAL_X_PROPERTY);
+ g_return_val_if_fail (icalproperty_isa (prop) == ICAL_X_PROPERTY, NULL);
xstr = icalproperty_get_x (prop);
- g_assert (xstr != NULL);
+ g_return_val_if_fail (xstr != NULL, NULL);
return xstr;
}
@@ -814,7 +814,7 @@ remove_alarm_uid (icalcomponent *alarm)
const gchar *xname;
xname = icalproperty_get_x_name (prop);
- g_assert (xname != NULL);
+ g_return_if_fail (xname != NULL);
if (strcmp (xname, EVOLUTION_ALARM_UID_PROPERTY) == 0)
list = g_slist_prepend (list, prop);
@@ -882,7 +882,7 @@ scan_alarm (ECalComponent *comp, icalcomponent *alarm)
const gchar *xname;
xname = icalproperty_get_x_name (prop);
- g_assert (xname != NULL);
+ g_return_if_fail (xname != NULL);
if (strcmp (xname, EVOLUTION_ALARM_UID_PROPERTY) == 0) {
auid = alarm_uid_from_prop (prop);
@@ -913,7 +913,7 @@ scan_icalcomponent (ECalComponent *comp)
priv = comp->priv;
- g_assert (priv->icalcomp != NULL);
+ g_return_if_fail (priv->icalcomp != NULL);
/* Scan properties */
@@ -943,7 +943,7 @@ ensure_mandatory_properties (ECalComponent *comp)
ECalComponentPrivate *priv;
priv = comp->priv;
- g_assert (priv->icalcomp != NULL);
+ g_return_if_fail (priv->icalcomp != NULL);
if (!priv->uid) {
gchar *uid;
@@ -1015,7 +1015,7 @@ e_cal_component_set_new_vtype (ECalComponent *comp, ECalComponentVType type)
break;
default:
- g_assert_not_reached ();
+ g_warn_if_reached ();
kind = ICAL_NO_COMPONENT;
}
@@ -1196,7 +1196,7 @@ e_cal_component_get_vtype (ECalComponent *comp)
default:
/* We should have been loaded with a supported type! */
- g_assert_not_reached ();
+ g_warn_if_reached ();
return E_CAL_COMPONENT_NO_TYPE;
}
}
@@ -1429,7 +1429,7 @@ e_cal_component_get_uid (ECalComponent *comp, const gchar **uid)
g_return_if_fail (priv->icalcomp != NULL);
/* This MUST exist, since we ensured that it did */
- g_assert (priv->uid != NULL);
+ g_return_if_fail (priv->uid != NULL);
*uid = icalproperty_get_uid (priv->uid);
}
@@ -1454,7 +1454,7 @@ e_cal_component_set_uid (ECalComponent *comp, const gchar *uid)
g_return_if_fail (priv->icalcomp != NULL);
/* This MUST exist, since we ensured that it did */
- g_assert (priv->uid != NULL);
+ g_return_if_fail (priv->uid != NULL);
icalproperty_set_uid (priv->uid, (gchar *) uid);
}
@@ -1477,7 +1477,7 @@ get_attachment_list (GSList *attachment_list, GSList **al)
gchar *buf = NULL;
attachment = l->data;
- g_assert (attachment->attach != NULL);
+ g_return_if_fail (attachment->attach != NULL);
if (icalattach_get_is_url (attachment->attach)) {
/* FIXME : this ref count is screwed up
@@ -1511,8 +1511,8 @@ set_attachment_list (icalcomponent *icalcomp,
struct attachment *attachment;
attachment = l->data;
- g_assert (attachment->prop != NULL);
- g_assert (attachment->attach != NULL);
+ g_return_if_fail (attachment->prop != NULL);
+ g_return_if_fail (attachment->attach != NULL);
icalcomponent_remove_property (icalcomp, attachment->prop);
icalproperty_free (attachment->prop);
@@ -1731,7 +1731,7 @@ e_cal_component_get_categories_list (ECalComponent *comp, GSList **categ_list)
}
categories = icalproperty_get_categories (priv->categories);
- g_assert (categories != NULL);
+ g_return_if_fail (categories != NULL);
cat_start = categories;
*categ_list = NULL;
@@ -1902,7 +1902,7 @@ e_cal_component_set_classification (ECalComponent *comp, ECalComponentClassifica
break;
default:
- g_assert_not_reached ();
+ g_warn_if_reached ();
class = ICAL_CLASS_NONE;
}
@@ -1932,7 +1932,7 @@ get_text_list (GSList *text_list,
ECalComponentText *t;
text = l->data;
- g_assert (text->prop != NULL);
+ g_return_if_fail (text->prop != NULL);
t = g_new (ECalComponentText, 1);
t->value = (* get_prop_func) (text->prop);
@@ -1966,7 +1966,7 @@ set_text_list (ECalComponent *comp,
struct text *text;
text = l->data;
- g_assert (text->prop != NULL);
+ g_return_if_fail (text->prop != NULL);
icalcomponent_remove_property (priv->icalcomp, text->prop);
icalproperty_free (text->prop);
@@ -2356,7 +2356,7 @@ set_datetime (ECalComponent *comp, struct datetime *datetime,
/* If the TZID is set to "UTC", we don't want to save the TZID. */
if (dt->tzid && strcmp (dt->tzid, "UTC")) {
- g_assert (datetime->prop != NULL);
+ g_return_if_fail (datetime->prop != NULL);
if (datetime->tzid_param) {
icalparameter_set_tzid (datetime->tzid_param, (gchar *) dt->tzid);
@@ -2501,7 +2501,7 @@ e_cal_component_get_dtstamp (ECalComponent *comp, struct icaltimetype *t)
g_return_if_fail (priv->icalcomp != NULL);
/* This MUST exist, since we ensured that it did */
- g_assert (priv->dtstamp != NULL);
+ g_return_if_fail (priv->dtstamp != NULL);
*t = icalproperty_get_dtstamp (priv->dtstamp);
}
@@ -2528,7 +2528,7 @@ e_cal_component_set_dtstamp (ECalComponent *comp, struct icaltimetype *t)
g_return_if_fail (priv->icalcomp != NULL);
/* This MUST exist, since we ensured that it did */
- g_assert (priv->dtstamp != NULL);
+ g_return_if_fail (priv->dtstamp != NULL);
icalproperty_set_dtstamp (priv->dtstamp, *t);
}
@@ -2672,7 +2672,7 @@ get_period_list (GSList *period_list,
struct icaldatetimeperiodtype ip;
period = l->data;
- g_assert (period->prop != NULL);
+ g_return_if_fail (period->prop != NULL);
p = g_new (ECalComponentPeriod, 1);
@@ -2706,7 +2706,7 @@ get_period_list (GSList *period_list,
else if (p->type == E_CAL_COMPONENT_PERIOD_DURATION)
p->u.duration = ip.period.duration;
else
- g_assert_not_reached ();
+ g_return_if_reached ();
/* Put in list */
@@ -2734,7 +2734,7 @@ set_period_list (ECalComponent *comp,
struct period *period;
period = l->data;
- g_assert (period->prop != NULL);
+ g_return_if_fail (period->prop != NULL);
icalcomponent_remove_property (priv->icalcomp, period->prop);
icalproperty_free (period->prop);
@@ -2752,7 +2752,7 @@ set_period_list (ECalComponent *comp,
struct icaldatetimeperiodtype ip = {};
icalparameter_value value_type;
- g_assert (l->data != NULL);
+ g_return_if_fail (l->data != NULL);
p = l->data;
/* Create libical value */
@@ -2766,8 +2766,7 @@ set_period_list (ECalComponent *comp,
value_type = ICAL_VALUE_DURATION;
ip.period.duration = p->u.duration;
} else {
- g_assert_not_reached ();
- return;
+ g_return_if_reached ();
}
/* Create property */
@@ -2874,10 +2873,10 @@ e_cal_component_set_exdate_list (ECalComponent *comp, GSList *exdate_list)
ECalComponentDateTime *cdt;
struct datetime *dt;
- g_assert (l->data != NULL);
+ g_return_if_fail (l->data != NULL);
cdt = l->data;
- g_assert (cdt->value != NULL);
+ g_return_if_fail (cdt->value != NULL);
dt = g_new (struct datetime, 1);
dt->prop = icalproperty_new_exdate (*cdt->value);
@@ -2976,7 +2975,7 @@ set_recur_list (ECalComponent *comp,
icalproperty *prop;
struct icalrecurrencetype *recur;
- g_assert (l->data != NULL);
+ g_return_if_fail (l->data != NULL);
recur = l->data;
prop = (* new_prop_func) (*recur);
@@ -3290,7 +3289,7 @@ e_cal_component_set_organizer (ECalComponent *comp, ECalComponentOrganizer *orga
}
if (organizer->sentby) {
- g_assert (priv->organizer.prop != NULL);
+ g_return_if_fail (priv->organizer.prop != NULL);
if (priv->organizer.sentby_param)
icalparameter_set_sentby (priv->organizer.sentby_param,
@@ -3307,7 +3306,7 @@ e_cal_component_set_organizer (ECalComponent *comp, ECalComponentOrganizer *orga
}
if (organizer->cn) {
- g_assert (priv->organizer.prop != NULL);
+ g_return_if_fail (priv->organizer.prop != NULL);
if (priv->organizer.cn_param)
icalparameter_set_cn (priv->organizer.cn_param,
@@ -3324,7 +3323,7 @@ e_cal_component_set_organizer (ECalComponent *comp, ECalComponentOrganizer *orga
}
if (organizer->language) {
- g_assert (priv->organizer.prop != NULL);
+ g_return_if_fail (priv->organizer.prop != NULL);
if (priv->organizer.language_param)
icalparameter_set_language (priv->organizer.language_param,
@@ -4269,7 +4268,7 @@ e_cal_component_set_summary (ECalComponent *comp, ECalComponentText *summary)
}
if (summary->altrep) {
- g_assert (priv->summary.prop != NULL);
+ g_return_if_fail (priv->summary.prop != NULL);
if (priv->summary.altrep_param)
icalparameter_set_altrep (priv->summary.altrep_param,
@@ -4375,7 +4374,7 @@ e_cal_component_set_transparency (ECalComponent *comp, ECalComponentTransparency
break;
default:
- g_assert_not_reached ();
+ g_warn_if_reached ();
ical_transp = ICAL_TRANSP_NONE;
}
@@ -4464,7 +4463,7 @@ get_attendee_list (GSList *attendee_list, GSList **al)
ECalComponentAttendee *a;
attendee = l->data;
- g_assert (attendee->prop != NULL);
+ g_return_if_fail (attendee->prop != NULL);
a = g_new0 (ECalComponentAttendee, 1);
a->value = icalproperty_get_attendee (attendee->prop);
@@ -4518,7 +4517,7 @@ set_attendee_list (icalcomponent *icalcomp,
struct attendee *attendee;
attendee = l->data;
- g_assert (attendee->prop != NULL);
+ g_return_if_fail (attendee->prop != NULL);
icalcomponent_remove_property (icalcomp, attendee->prop);
icalproperty_free (attendee->prop);
@@ -4785,10 +4784,10 @@ e_cal_component_free_exdate_list (GSList *exdate_list)
for (l = exdate_list; l; l = l->next) {
ECalComponentDateTime *cdt;
- g_assert (l->data != NULL);
+ g_return_if_fail (l->data != NULL);
cdt = l->data;
- g_assert (cdt->value != NULL);
+ g_return_if_fail (cdt->value != NULL);
g_free (cdt->value);
g_free ((gchar *)cdt->tzid);
@@ -4867,17 +4866,7 @@ e_cal_component_free_priority (gint *priority)
void
e_cal_component_free_period_list (GSList *period_list)
{
- GSList *l;
-
- for (l = period_list; l; l = l->next) {
- ECalComponentPeriod *period;
-
- g_assert (l->data != NULL);
-
- period = l->data;
- g_free (period);
- }
-
+ g_slist_foreach (period_list, (GFunc) g_free, NULL);
g_slist_free (period_list);
}
@@ -4890,17 +4879,7 @@ e_cal_component_free_period_list (GSList *period_list)
void
e_cal_component_free_recur_list (GSList *recur_list)
{
- GSList *l;
-
- for (l = recur_list; l; l = l->next) {
- struct icalrecurrencetype *r;
-
- g_assert (l->data != NULL);
- r = l->data;
-
- g_free (r);
- }
-
+ g_slist_foreach (recur_list, (GFunc) g_free, NULL);
g_slist_free (recur_list);
}
@@ -4953,18 +4932,7 @@ e_cal_component_free_id (ECalComponentId *id)
void
e_cal_component_free_text_list (GSList *text_list)
{
- GSList *l;
-
- for (l = text_list; l; l = l->next) {
- ECalComponentText *text;
-
- g_assert (l->data != NULL);
-
- text = l->data;
- g_return_if_fail (text != NULL);
- g_free (text);
- }
-
+ g_slist_foreach (text_list, (GFunc) g_free, NULL);
g_slist_free (text_list);
}
@@ -4978,18 +4946,7 @@ e_cal_component_free_text_list (GSList *text_list)
void
e_cal_component_free_attendee_list (GSList *attendee_list)
{
- GSList *l;
-
- for (l = attendee_list; l; l = l->next) {
- ECalComponentAttendee *attendee;
-
- g_assert (l->data != NULL);
-
- attendee = l->data;
- g_return_if_fail (attendee != NULL);
- g_free (attendee);
- }
-
+ g_slist_foreach (attendee_list, (GFunc) g_free, NULL);
g_slist_free (attendee_list);
}
@@ -5157,7 +5114,7 @@ scan_alarm_property (ECalComponentAlarm *alarm, icalproperty *prop)
case ICAL_X_PROPERTY:
xname = icalproperty_get_x_name (prop);
- g_assert (xname != NULL);
+ g_return_if_fail (xname != NULL);
if (strcmp (xname, EVOLUTION_ALARM_UID_PROPERTY) == 0)
alarm->uid = prop;
@@ -5195,7 +5152,7 @@ make_alarm (icalcomponent *subcomp)
prop = icalcomponent_get_next_property (subcomp, ICAL_ANY_PROPERTY))
scan_alarm_property (alarm, prop);
- g_assert (alarm->uid != NULL);
+ g_return_val_if_fail (alarm->uid != NULL, NULL);
return alarm;
}
@@ -5237,7 +5194,7 @@ e_cal_component_get_alarm_uids (ECalComponent *comp)
const gchar *xname;
xname = icalproperty_get_x_name (prop);
- g_assert (xname != NULL);
+ g_return_val_if_fail (xname != NULL, NULL);
if (strcmp (xname, EVOLUTION_ALARM_UID_PROPERTY) == 0) {
const gchar *auid;
@@ -5297,16 +5254,17 @@ e_cal_component_alarms_free (ECalComponentAlarms *alarms)
g_return_if_fail (alarms != NULL);
- g_assert (alarms->comp != NULL);
- g_object_unref (G_OBJECT (alarms->comp));
+ if (alarms->comp != NULL)
+ g_object_unref (alarms->comp);
for (l = alarms->alarms; l; l = l->next) {
- ECalComponentAlarmInstance *instance;
+ ECalComponentAlarmInstance *instance = l->data;
- instance = l->data;
- g_assert (instance != NULL);
- g_free (instance->auid);
- g_free (instance);
+ if (instance != NULL) {
+ g_free (instance->auid);
+ g_free (instance);
+ } else
+ g_warn_if_reached ();
}
g_slist_free (alarms->alarms);
@@ -5380,8 +5338,7 @@ e_cal_component_alarm_free (ECalComponentAlarm *alarm)
GSList *l;
g_return_if_fail (alarm != NULL);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
if (icalcomponent_get_parent (alarm->icalcomp) == NULL)
icalcomponent_free (alarm->icalcomp);
@@ -5434,8 +5391,7 @@ e_cal_component_alarm_get_action (ECalComponentAlarm *alarm, ECalComponentAlarmA
g_return_if_fail (alarm != NULL);
g_return_if_fail (action != NULL);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
if (!alarm->action) {
*action = E_CAL_COMPONENT_ALARM_NONE;
@@ -5485,8 +5441,7 @@ e_cal_component_alarm_set_action (ECalComponentAlarm *alarm, ECalComponentAlarmA
g_return_if_fail (alarm != NULL);
g_return_if_fail (action != E_CAL_COMPONENT_ALARM_NONE);
g_return_if_fail (action != E_CAL_COMPONENT_ALARM_UNKNOWN);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
switch (action) {
case E_CAL_COMPONENT_ALARM_AUDIO:
@@ -5506,7 +5461,7 @@ e_cal_component_alarm_set_action (ECalComponentAlarm *alarm, ECalComponentAlarmA
break;
default:
- g_assert_not_reached ();
+ g_warn_if_reached ();
ipa = ICAL_ACTION_NONE;
}
@@ -5530,8 +5485,7 @@ e_cal_component_alarm_get_attach (ECalComponentAlarm *alarm, icalattach **attach
{
g_return_if_fail (alarm != NULL);
g_return_if_fail (attach != NULL);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
if (alarm->attach) {
*attach = icalproperty_get_attach (alarm->attach);
@@ -5551,8 +5505,7 @@ void
e_cal_component_alarm_set_attach (ECalComponentAlarm *alarm, icalattach *attach)
{
g_return_if_fail (alarm != NULL);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
if (alarm->attach) {
icalcomponent_remove_property (alarm->icalcomp, alarm->attach);
@@ -5578,8 +5531,7 @@ e_cal_component_alarm_get_description (ECalComponentAlarm *alarm, ECalComponentT
{
g_return_if_fail (alarm != NULL);
g_return_if_fail (description != NULL);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
if (alarm->description.prop)
description->value = icalproperty_get_description (alarm->description.prop);
@@ -5603,8 +5555,7 @@ void
e_cal_component_alarm_set_description (ECalComponentAlarm *alarm, ECalComponentText *description)
{
g_return_if_fail (alarm != NULL);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
if (alarm->description.prop) {
icalcomponent_remove_property (alarm->icalcomp, alarm->description.prop);
@@ -5642,8 +5593,7 @@ e_cal_component_alarm_get_repeat (ECalComponentAlarm *alarm, ECalComponentAlarmR
{
g_return_if_fail (alarm != NULL);
g_return_if_fail (repeat != NULL);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
if (!(alarm->repeat && alarm->duration)) {
repeat->repetitions = 0;
@@ -5668,8 +5618,7 @@ e_cal_component_alarm_set_repeat (ECalComponentAlarm *alarm, ECalComponentAlarmR
{
g_return_if_fail (alarm != NULL);
g_return_if_fail (repeat.repetitions >= 0);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
/* Delete old properties */
@@ -5713,8 +5662,7 @@ e_cal_component_alarm_get_trigger (ECalComponentAlarm *alarm, ECalComponentAlarm
g_return_if_fail (alarm != NULL);
g_return_if_fail (trigger != NULL);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
if (!alarm->trigger) {
trigger->type = E_CAL_COMPONENT_ALARM_TRIGGER_NONE;
@@ -5771,7 +5719,7 @@ e_cal_component_alarm_get_trigger (ECalComponentAlarm *alarm, ECalComponentAlarm
break;
default:
- g_assert_not_reached ();
+ g_return_if_reached ();
}
} else
trigger->type = E_CAL_COMPONENT_ALARM_TRIGGER_RELATIVE_START;
@@ -5798,8 +5746,7 @@ e_cal_component_alarm_set_trigger (ECalComponentAlarm *alarm, ECalComponentAlarm
g_return_if_fail (alarm != NULL);
g_return_if_fail (trigger.type != E_CAL_COMPONENT_ALARM_TRIGGER_NONE);
-
- g_assert (alarm->icalcomp != NULL);
+ g_return_if_fail (alarm->icalcomp != NULL);
/* Delete old trigger */
@@ -5834,8 +5781,7 @@ e_cal_component_alarm_set_trigger (ECalComponentAlarm *alarm, ECalComponentAlarm
break;
default:
- g_assert_not_reached ();
- return;
+ g_return_if_reached ();
}
alarm->trigger = icalproperty_new_trigger (t);
diff --git a/calendar/libecal/e-cal-util.c b/calendar/libecal/e-cal-util.c
index 0fbc5fc..b7e60c1 100644
--- a/calendar/libecal/e-cal-util.c
+++ b/calendar/libecal/e-cal-util.c
@@ -45,11 +45,11 @@ cal_obj_instance_list_free (GList *list)
for (l = list; l; l = l->next) {
i = l->data;
- g_assert (i != NULL);
- g_assert (i->uid != NULL);
-
- g_free (i->uid);
- g_free (i);
+ if (i != NULL && i->uid != NULL) {
+ g_free (i->uid);
+ g_free (i);
+ } else
+ g_warn_if_reached ();
}
g_list_free (list);
@@ -64,17 +64,7 @@ cal_obj_instance_list_free (GList *list)
void
cal_obj_uid_list_free (GList *list)
{
- GList *l;
-
- for (l = list; l; l = l->next) {
- gchar *uid;
-
- uid = l->data;
-
- g_assert (uid != NULL);
- g_free (uid);
- }
-
+ g_list_foreach (list, (GFunc) g_free, NULL);
g_list_free (list);
}
@@ -277,7 +267,7 @@ compute_alarm_range (ECalComponent *comp, GList *alarm_uids, time_t start, time_
auid = l->data;
alarm = e_cal_component_get_alarm (comp, auid);
- g_assert (alarm != NULL);
+ g_return_if_fail (alarm != NULL);
e_cal_component_alarm_get_trigger (alarm, &trigger);
e_cal_component_alarm_get_repeat (alarm, &repeat);
@@ -312,13 +302,12 @@ compute_alarm_range (ECalComponent *comp, GList *alarm_uids, time_t start, time_
break;
default:
- g_assert_not_reached ();
+ g_return_if_reached ();
}
}
*alarm_start -= repeat_time;
-
- g_assert (*alarm_start <= *alarm_end);
+ g_warn_if_fail (*alarm_start <= *alarm_end);
}
/* Closure data to generate alarm occurrences */
@@ -374,7 +363,7 @@ add_alarm_occurrences_cb (ECalComponent *comp, time_t start, time_t end, gpointe
auid = l->data;
alarm = e_cal_component_get_alarm (comp, auid);
- g_assert (alarm != NULL);
+ g_return_val_if_fail (alarm != NULL, FALSE);
e_cal_component_alarm_get_action (alarm, &action);
e_cal_component_alarm_get_trigger (alarm, &trigger);
@@ -461,7 +450,7 @@ generate_absolute_triggers (ECalComponent *comp, struct alarm_occurrence_data *a
auid = l->data;
alarm = e_cal_component_get_alarm (comp, auid);
- g_assert (alarm != NULL);
+ g_return_if_fail (alarm != NULL);
e_cal_component_alarm_get_action (alarm, &action);
e_cal_component_alarm_get_trigger (alarm, &trigger);
diff --git a/calendar/libecal/e-cal.c b/calendar/libecal/e-cal.c
index 2559354..c2d8f15 100644
--- a/calendar/libecal/e-cal.c
+++ b/calendar/libecal/e-cal.c
@@ -435,7 +435,7 @@ gdbus_cal_closed_cb (GDBusConnection *connection, gboolean remote_peer_vanished,
{
GError *err = NULL;
- g_assert (E_IS_CAL (ecal));
+ g_return_if_fail (E_IS_CAL (ecal));
if (error) {
err = g_error_copy (error);
@@ -2413,11 +2413,11 @@ e_cal_free_change_list (GList *list)
for (l = list; l; l = l->next) {
c = l->data;
- g_assert (c != NULL);
- g_assert (c->comp != NULL);
-
- g_object_unref (G_OBJECT (c->comp));
- g_free (c);
+ if (c != NULL && c->comp != NULL) {
+ g_object_unref (G_OBJECT (c->comp));
+ g_free (c);
+ } else
+ g_warn_if_reached ();
}
g_list_free (list);
@@ -3241,9 +3241,10 @@ e_cal_free_alarms (GSList *comp_alarms)
ECalComponentAlarms *alarms;
alarms = l->data;
- g_assert (alarms != NULL);
-
- e_cal_component_alarms_free (alarms);
+ if (alarms != NULL)
+ e_cal_component_alarms_free (alarms);
+ else
+ g_warn_if_reached ();
}
g_slist_free (comp_alarms);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]