diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2020-02-20 13:20:03 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-03-10 09:25:57 -0700 |
commit | 0cd275af67192759414f8e1d0666977f10852d6f (patch) | |
tree | 3771bd36936c3dd0f93c3256200cd61f13ff4ca6 | |
parent | 3464e776e23996b9e6085509919713da3c3e44f5 (diff) | |
download | subsurface-0cd275af67192759414f8e1d0666977f10852d6f.tar.gz |
core/trip handling: add helper function to get trip from id
In the QML code we pass ids around. I had assumed that there already was a reverse
lookup function, but I wasn't able to find it. So I added it.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | core/trip.c | 10 | ||||
-rw-r--r-- | core/trip.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/core/trip.c b/core/trip.c index 9f05699dc..6e7c4653d 100644 --- a/core/trip.c +++ b/core/trip.c @@ -195,6 +195,16 @@ dive_trip_t *get_trip_for_new_dive(struct dive *new_dive, bool *allocated) return trip; } +/* lookup of trip in main trip_table based on its id */ +dive_trip_t *get_trip_by_uniq_id(int tripId) +{ + for (int i = 0; i < trip_table.nr; i++) { + if (trip_table.trips[i]->id == tripId) + return trip_table.trips[i]; + } + return NULL; +} + /* Check if two trips overlap time-wise up to trip threshold. */ bool trips_overlap(const struct dive_trip *t1, const struct dive_trip *t2) { diff --git a/core/trip.h b/core/trip.h index 3a8a2feb7..c9335fc0a 100644 --- a/core/trip.h +++ b/core/trip.h @@ -45,6 +45,7 @@ extern dive_trip_t *create_trip_from_dive(struct dive *dive); extern dive_trip_t *create_and_hookup_trip_from_dive(struct dive *dive, struct trip_table *trip_table_arg); extern dive_trip_t *get_dives_to_autogroup(struct dive_table *table, int start, int *from, int *to, bool *allocated); extern dive_trip_t *get_trip_for_new_dive(struct dive *new_dive, bool *allocated); +extern dive_trip_t *get_trip_by_uniq_id(int tripId); extern bool trips_overlap(const struct dive_trip *t1, const struct dive_trip *t2); extern void select_dives_in_trip(struct dive_trip *trip); |