summaryrefslogtreecommitdiffstats
path: root/core/equipment.c
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2019-08-04 14:42:21 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2019-11-09 19:19:04 +0100
commit4355ce3924943eb22a6e3296372710953ff0b99d (patch)
tree45a0c04cad9eed9a5645c58aafb17cd265f1b4cb /core/equipment.c
parent860807bf922f6fa08260def906df4d864353c90f (diff)
downloadsubsurface-4355ce3924943eb22a6e3296372710953ff0b99d.tar.gz
Cleanup: move copy_cylinder_types() from dive.c to equipment.c
Thus, future callers will not have to include the monster dive.h include if they just want to copy cylinders. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core/equipment.c')
-rw-r--r--core/equipment.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/core/equipment.c b/core/equipment.c
index 9dbe6bcd2..d97ed6e4f 100644
--- a/core/equipment.c
+++ b/core/equipment.c
@@ -288,6 +288,28 @@ void reset_cylinders(struct dive *dive, bool track_gas)
}
}
+static void copy_cylinder_type(const cylinder_t *s, cylinder_t *d)
+{
+ free(d->type.description);
+ d->type = s->type;
+ d->type.description = s->type.description ? strdup(s->type.description) : NULL;
+ d->gasmix = s->gasmix;
+ d->depth = s->depth;
+ d->cylinder_use = s->cylinder_use;
+ d->manually_added = true;
+}
+
+/* copy the equipment data part of the cylinders but keep pressures */
+void copy_cylinder_types(const struct dive *s, struct dive *d)
+{
+ int i;
+ if (!s || !d)
+ return;
+
+ for (i = 0; i < MAX_CYLINDERS; i++)
+ copy_cylinder_type(s->cylinder + i, d->cylinder + i);
+}
+
#ifdef DEBUG_CYL
void dump_cylinders(struct dive *dive, bool verbose)
{