summaryrefslogtreecommitdiffstats
path: root/equipment.c
diff options
context:
space:
mode:
Diffstat (limited to 'equipment.c')
-rw-r--r--equipment.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/equipment.c b/equipment.c
index a67df68a4..1dd3c3f9d 100644
--- a/equipment.c
+++ b/equipment.c
@@ -97,6 +97,24 @@ bool cylinder_is_used(struct dive *d, cylinder_t *cyl)
return false;
}
+void get_gas_string(const struct gasmix *gasmix, char *text, int len)
+{
+ if (gasmix_is_air(gasmix))
+ snprintf(text, len, "%s", translate("gettextFromC", "air"));
+ else if (get_he(gasmix) == 0)
+ snprintf(text, len, translate("gettextFromC", "EAN%d"), (get_o2(gasmix) + 5) / 10);
+ else
+ snprintf(text, len, "(%d/%d)", (get_o2(gasmix) + 5) / 10, (get_he(gasmix) + 5) / 10);
+}
+
+/* Returns a static char buffer - only good for immediate use by printf etc */
+const char *gasname(const struct gasmix *gasmix)
+{
+ static char gas[64];
+ get_gas_string(gasmix, gas, sizeof(gas));
+ return gas;
+}
+
bool weightsystem_none(void *_data)
{
weightsystem_t *ws = _data;