From d65226865564f5589b0dbdcb5e8d2c83720a4727 Mon Sep 17 00:00:00 2001
From: Gaetan Bisson <bisson@archlinux.org>
Date: Mon, 14 Jul 2014 20:03:10 -1000
Subject: [PATCH] Planner: Report CNS and OTU

In add_plan_to_notes(), call update_cylinder_related_info() to compute
CNS and OTU data for the planned dive. Report their values in the notes.

Besides CNS and OTU, update_cylinder_related_info() also recomputes the
SAC, which is harmless. Note that both dive->cns and dive->maxcns need
to be zeroed out for the CNS value to actually be recomputed.

Signed-off-by: Gaetan Bisson <bisson@archlinux.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
---
 planner.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/planner.c b/planner.c
index 630a554fc..0d6d77148 100644
--- a/planner.c
+++ b/planner.c
@@ -634,9 +634,18 @@ static void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool
 		}
 		lastdepth = dp->depth;
 	} while ((dp = nextdp) != NULL);
+	len += snprintf(buffer + len, sizeof(buffer) - len, "</tbody></table></div>");
+
+	dive->cns = 0;
+	dive->maxcns = 0;
+	update_cylinder_related_info(dive);
+	snprintf(temp, sizeof(temp), "%s", translate("gettextFromC", "CNS"));
+	len += snprintf(buffer + len, sizeof(buffer) - len, "<div><br>%s: %i%%", temp, dive->cns);
+	snprintf(temp, sizeof(temp), "%s", translate("gettextFromC", "OTU"));
+	len += snprintf(buffer + len, sizeof(buffer) - len, "<br>%s: %i</div>", temp, dive->otu);
 
 	snprintf(temp, sizeof(temp), "%s", translate("gettextFromC", "Gas consumption:"));
-	len += snprintf(buffer + len, sizeof(buffer) - len, "</tbody></table></div><div><br>%s<br>", temp);
+	len += snprintf(buffer + len, sizeof(buffer) - len, "<div><br>%s<br>", temp);
 	for (int gasidx = 0; gasidx < MAX_CYLINDERS; gasidx++) {
 		double volume, pressure, deco_volume, deco_pressure;
 		const char *unit, *pressure_unit;