Cleanup: pass gasmix by value

In a previous commit, the get_gasmix_* functions were changed to
return by value. For consistency, also pass gasmix by value.

Note that on common 64-bit platforms struct gasmix is the size
of a pointer [2 * 32 bit vs. 64 bit] and therefore uses the
same space on the stack. On 32-bit platforms, the stack use
is probably doubled, but in return a dereference is avoided.

Supporting arbitrary gas-mixes (H2, Ar, ...) will be such an
invasive change that going back to pointers is probably the
least of our worries.

This commit is a step in const-ifying input parameters (passing
by value is the ultimate way of signaling that the input parameter
will not be changed [unless there are references to said parameter]).

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-08-16 19:10:10 +02:00 committed by Dirk Hohndel
parent 5c4569247a
commit 360f07e453
28 changed files with 214 additions and 215 deletions

View file

@ -126,10 +126,10 @@ static void save_extra_data(struct membuffer *b, struct extra_data *ed)
}
}
static void put_gasmix(struct membuffer *b, struct gasmix *mix)
static void put_gasmix(struct membuffer *b, struct gasmix mix)
{
int o2 = mix->o2.permille;
int he = mix->he.permille;
int o2 = mix.o2.permille;
int he = mix.he.permille;
if (o2) {
put_format(b, " o2=%u.%u%%", FRACTION(o2, 10));
@ -154,7 +154,7 @@ static void save_cylinder_info(struct membuffer *b, struct dive *dive)
put_pressure(b, cylinder->type.workingpressure, " workpressure=", "bar");
show_utf8(b, " description=", description, "");
strip_mb(b);
put_gasmix(b, &cylinder->gasmix);
put_gasmix(b, cylinder->gasmix);
put_pressure(b, cylinder->start, " start=", "bar");
put_pressure(b, cylinder->end, " end=", "bar");
if (cylinder->cylinder_use != OC_GAS)
@ -385,7 +385,7 @@ static void save_one_event(struct membuffer *b, struct dive *dive, struct event
struct gasmix mix = get_gasmix_from_event(dive, ev);
if (ev->gas.index >= 0)
show_integer(b, ev->gas.index, "cylinder=", "");
put_gasmix(b, &mix);
put_gasmix(b, mix);
}
put_string(b, "\n");
}