summaryrefslogtreecommitdiffstats
path: root/core/equipment.c
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-02-23 11:38:53 +0100
committerGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2020-04-07 00:13:34 +0200
commitf1e08fd470502e5703a7338d6b5a5130a5f41c14 (patch)
treefb8b8550d28f33bf9e9ad0d5799463478d3b47a5 /core/equipment.c
parent1ca25ec03950cea052fd151c41e7d6535cfb1381 (diff)
downloadsubsurface-f1e08fd470502e5703a7338d6b5a5130a5f41c14.tar.gz
core: introduce set_cylinder() function
We have a set_weightsystem() function. For symmetry, introduce a set_cylinder() function so that we can more-or-less copy&paste the weightsystem undo code for cylinder undo. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/equipment.c')
-rw-r--r--core/equipment.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/equipment.c b/core/equipment.c
index 4672cbe00..3d169a338 100644
--- a/core/equipment.c
+++ b/core/equipment.c
@@ -291,6 +291,15 @@ void remove_cylinder(struct dive *dive, int idx)
remove_from_cylinder_table(&dive->cylinders, idx);
}
+// cyl is cloned.
+void set_cylinder(struct dive *dive, int idx, cylinder_t cyl)
+{
+ if (idx < 0 || idx >= dive->cylinders.nr)
+ return;
+ free_cylinder(dive->cylinders.cylinders[idx]);
+ dive->cylinders.cylinders[idx] = clone_cylinder(cyl);
+}
+
void remove_weightsystem(struct dive *dive, int idx)
{
remove_from_weightsystem_table(&dive->weightsystems, idx);