From 6d16a15196857eb4fe2eb4ca3cf363f1221afe60 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Thu, 20 Sep 2012 11:08:15 -0700 Subject: FIND_TRIP: don't cast a timestamp to a pointer The pointer size may not be large enough to contain a timestamp, so make FIND_TRIP() just pass the pointer to the timestamp instead. And use an inline function instead of macros with casts. That gets us proper type safety while at it, so that we get a warning if somebody doesn't pass the expected "timestamp_t *". Plus the code actually looks simpler and way more straightforward. Signed-off-by: Linus Torvalds --- divelist.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'divelist.c') diff --git a/divelist.c b/divelist.c index 849a8bd2d..9a3493c99 100644 --- a/divelist.c +++ b/divelist.c @@ -1058,7 +1058,7 @@ static void fill_dive_list(void) parent_ptr = NULL; dive_trip = create_and_hookup_trip_from_dive(dive); dive_trip->tripflag = IN_TRIP; - trip = FIND_TRIP(dive_trip->when); + trip = FIND_TRIP(&dive_trip->when); } if (trip) dive_trip = DIVE_TRIP(trip); @@ -1265,7 +1265,7 @@ void edit_trip_cb(GtkWidget *menuitem, GtkTreePath *path) gtk_tree_model_get_iter(MODEL(dive_list), &iter, path); gtk_tree_model_get(MODEL(dive_list), &iter, DIVE_DATE, &when, -1); - trip = FIND_TRIP(when); + trip = FIND_TRIP(&when); dive_trip = DIVE_TRIP(trip); if (edit_trip(dive_trip)) gtk_tree_store_set(STORE(dive_list), &iter, DIVE_LOCATION, dive_trip->location, -1); @@ -1564,7 +1564,7 @@ static void remove_from_trip(GtkTreePath *path) /* if this was the last dive on the trip, remove the trip */ if (! gtk_tree_model_iter_has_child(MODEL(dive_list), &parent)) { gtk_tree_store_remove(STORE(dive_list), &parent); - delete_trip(FIND_TRIP(dive->divetrip->when)); + delete_trip(FIND_TRIP(&dive->divetrip->when)); free(dive->divetrip); } /* mark the dive as intentionally at the top level */ @@ -1672,7 +1672,7 @@ void remove_trip(GtkTreePath *trippath, gboolean force_no_trip) } /* finally, remove the trip */ gtk_tree_store_remove(STORE(dive_list), &parent); - delete_trip(FIND_TRIP(dive_trip->when)); + delete_trip(FIND_TRIP(&dive_trip->when)); free(dive_trip); #ifdef DEBUG_TRIP dump_trip_list(); @@ -2097,7 +2097,7 @@ void remove_autogen_trips() while(gtk_tree_model_get_iter(TREEMODEL(dive_list), &iter, path)) { gtk_tree_model_get(TREEMODEL(dive_list), &iter, DIVE_INDEX, &idx, DIVE_DATE, &when, -1); if (idx < 0) { - trip = FIND_TRIP(when); + trip = FIND_TRIP(&when); if (DIVE_TRIP(trip)->tripflag == IN_TRIP) { /* this was autogen */ remove_trip(path, FALSE); continue; -- cgit v1.2.3-70-g09d2