Core: dynamically allocate the result of get_gas_used()

get_gas_used() returns the volume of used gases. Currently,
an array with MAX_CYLINDERS is passed in. If we want to make the
number of cylinders dynamic, the function must use an arbitrarilly
sized array.

Therefore, return a dynamically allocated array and free it
in the caller.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2019-06-27 07:42:09 +02:00 committed by Dirk Hohndel
parent f179ec033f
commit 11467fa326
5 changed files with 16 additions and 10 deletions

View file

@ -10,7 +10,6 @@
#define STATISTICS_H
#include "core/units.h"
#include "core/dive.h" // For MAX_CYLINDERS
#define STATS_MAX_DEPTH 300 /* Max depth for stats bucket is 300m */
#define STATS_DEPTH_BUCKET 10 /* Size of buckets for depth range */
@ -62,7 +61,7 @@ extern void init_stats_summary(struct stats_summary *stats);
extern void free_stats_summary(struct stats_summary *stats);
extern void calculate_stats_summary(struct stats_summary *stats, bool selected_only);
extern void calculate_stats_selected(stats_t *stats_selection);
extern void get_gas_used(struct dive *dive, volume_t gases[MAX_CYLINDERS]);
extern volume_t *get_gas_used(struct dive *dive);
extern void selected_dives_gas_parts(volume_t *o2_tot, volume_t *he_tot);
#ifdef __cplusplus