Updated strategy for removing cylinders

Change the strategy when to allow cylinder removal from a dive:
- Not remove when cylinder has gas switch events, in any other cases
  allow removal
- Remove this whole "cylinder with same gas" thing being a criteria
  for cylinder removal

When removing a cylinder which has corresponding pressure info in
samples, also remove this pressure info from the samples.

Signed-off-by: Stefan Fuchs <sfuchs@gmx.de>
This commit is contained in:
Stefan Fuchs 2017-11-29 10:16:00 +01:00 committed by Jan Mulder
parent cd5e17cf79
commit 4cbf8b87a3
5 changed files with 42 additions and 37 deletions

View file

@ -345,6 +345,19 @@ bool is_cylinder_used(struct dive *dive, int idx)
return false;
}
bool is_cylinder_prot(struct dive *dive, int idx)
{
struct divecomputer *dc;
if (cylinder_none(&dive->cylinder[idx]))
return false;
for_each_dc(dive, dc) {
if (has_gaschange_event(dive, dc, idx))
return true;
}
return false;
}
void get_gas_used(struct dive *dive, volume_t gases[MAX_CYLINDERS])
{
int idx;