mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
core: add a function to test for sensors of a given cylinder
We want to prevent the user from accidentally deleting a cylinder with sensor readings. Therefore, we need such a function. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
5eda1c0e39
commit
28fe6a7b38
3 changed files with 15 additions and 1 deletions
14
core/dive.c
14
core/dive.c
|
@ -3481,3 +3481,17 @@ struct gasmix get_gasmix_at_time(const struct dive *d, const struct divecomputer
|
|||
struct gasmix gasmix = gasmix_air;
|
||||
return get_gasmix(d, dc, time.seconds, &ev, gasmix);
|
||||
}
|
||||
|
||||
/* Does that cylinder have any pressure readings? */
|
||||
extern bool cylinder_with_sensor_sample(const struct dive *dive, int cylinder_id)
|
||||
{
|
||||
for (const struct divecomputer *dc = &dive->dc; dc; dc = dc->next) {
|
||||
for (int i = 0; i < dc->samples; ++i) {
|
||||
for (int j = 0; j < MAX_SENSORS; ++j) {
|
||||
if (dc->sample[i].sensor[j] == cylinder_id)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -198,6 +198,7 @@ extern int get_cylinder_index(const struct dive *dive, const struct event *ev);
|
|||
extern struct gasmix get_gasmix_from_event(const struct dive *, const struct event *ev);
|
||||
extern int nr_cylinders(const struct dive *dive);
|
||||
extern int nr_weightsystems(const struct dive *dive);
|
||||
extern bool cylinder_with_sensor_sample(const struct dive *dive, int cylinder_id);
|
||||
|
||||
/* UI related protopypes */
|
||||
|
||||
|
|
|
@ -548,4 +548,3 @@ void free_dc(struct divecomputer *dc)
|
|||
free_dc_contents(dc);
|
||||
free(dc);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue