diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-08-04 14:42:21 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-11-09 19:19:04 +0100 |
commit | 4355ce3924943eb22a6e3296372710953ff0b99d (patch) | |
tree | 45a0c04cad9eed9a5645c58aafb17cd265f1b4cb /core/equipment.c | |
parent | 860807bf922f6fa08260def906df4d864353c90f (diff) | |
download | subsurface-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.c | 22 |
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) { |