diff options
author | Robert C. Helling <helling@atdotde.de> | 2021-10-01 15:50:21 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2021-10-01 08:50:36 -0700 |
commit | 41258647d232a24adca394202b44b204409b4c9f (patch) | |
tree | a1c0b94973d5e8795cd3b8dba44542c2efa2bdbb /stats/statsvariables.cpp | |
parent | 5e9ee9febb595ced1699e1f60a659e01266ec7e9 (diff) | |
download | subsurface-41258647d232a24adca394202b44b204409b4c9f.tar.gz |
Don't access gasmix.o2.fraction
Air is a special gas that does not contain oxygen according
to gasmix.o2.fraction. If you want to use the fo2, you
need to use get_o2() to treat this special case correctly.
This fixes a bug when setting the MND of a gas containing
21% oxygen when o2 is considered not narcotic.
Reported-by: Christoph Gruen <gruen.christoph@gmail.com>
Signed-off-by: Robert C. Helling <helling@atdotde.de>
Diffstat (limited to 'stats/statsvariables.cpp')
-rw-r--r-- | stats/statsvariables.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/stats/statsvariables.cpp b/stats/statsvariables.cpp index e5bfc63e7..7349c15dd 100644 --- a/stats/statsvariables.cpp +++ b/stats/statsvariables.cpp @@ -1499,12 +1499,12 @@ struct gas_bin_t bin_gasmix(struct gasmix mix, int size) { if (gasmix_is_air(mix)) return gas_bin_t::air(); - if (mix.o2.permille == 1000) + if (get_o2(mix) == 1000) return gas_bin_t::oxygen(); - return mix.he.permille == 0 ? - gas_bin_t::ean(mix.o2.permille / 10 / size * size) : - gas_bin_t::trimix(mix.o2.permille / 10 / size * size, - mix.he.permille / 10 / size * size); + return get_he(mix) == 0 ? + gas_bin_t::ean(get_o2(mix) / 10 / size * size) : + gas_bin_t::trimix(get_o2(mix) / 10 / size * size, + get_he(mix) / 10 / size * size); } struct GasTypeBinner : public MultiBinner<GasTypeBinner, GasTypeBin> { |