core: turn trip-table into our own sorted_owning_table

Since the sorted_owning_table depends on the fact that
different elements never compare as equal, make the
comparison function safer in that respect. If all failes,
compare the pointers.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2024-06-01 22:05:57 +02:00 committed by bstoeger
parent 1cebafb08f
commit eacad89531
21 changed files with 217 additions and 305 deletions

View file

@ -438,15 +438,14 @@ static void write_trips(struct membuffer *b, const char *photos_dir, bool select
{
int i, dive_no = 0;
const struct dive *dive;
dive_trip *trip;
char sep_ = ' ';
char *sep = &sep_;
for (i = 0; i < divelog.trips->nr; ++i)
divelog.trips->trips[i]->saved = 0;
for (auto &trip: *divelog.trips)
trip->saved = 0;
for_each_dive (i, dive) {
trip = dive->divetrip;
dive_trip *trip = dive->divetrip;
/*Continue if the dive have no trips or we have seen this trip before*/
if (!trip || trip->saved)