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

@ -137,7 +137,7 @@ extern int divinglog_profile(void *handle, int columns, char **data, char **colu
cur_sample->pressure[0].mbar = pressure * 100;
cur_sample->rbt.seconds = rbt;
if (oldcyl != tank) {
struct gasmix *mix = &cur_dive->cylinder[tank].gasmix;
struct gasmix mix = cur_dive->cylinder[tank].gasmix;
int o2 = get_o2(mix);
int he = get_he(mix);