From ee365b734119be424e48c4a2cef5f54021521cb8 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Tue, 10 Sep 2019 15:29:03 +0200 Subject: Plan: introduce function that returns disclaimer The setting of the disclaimer variable was removed inadvertently some time ago, which removed the disclaimer from the printed plan. Instead, introduce a function that returns the disclaimer with the current deco mode. Use that function to generate the dive notes and for printing. Signed-off-by: Berthold Stoeger --- core/plannernotes.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'core/plannernotes.c') diff --git a/core/plannernotes.c b/core/plannernotes.c index 6714d360a..8d1f04731 100644 --- a/core/plannernotes.c +++ b/core/plannernotes.c @@ -82,11 +82,21 @@ const char *get_planner_disclaimer() "PLAN DIVES SIMPLY BASED ON THE RESULTS GIVEN HERE."); } +/* Returns newly allocated buffer. Must be freed by caller */ +char *get_planner_disclaimer_formatted() +{ + struct membuffer buf = { 0 }; + const char *deco = decoMode() == VPMB ? translate("gettextFromC", "VPM-B") + : translate("gettextFromC", "BUHLMANN"); + put_format(&buf, get_planner_disclaimer(), deco); + return detach_buffer(&buf); +} + void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool show_disclaimer, int error) { struct membuffer buf = { 0 }; struct membuffer icdbuf = { 0 }; - const char *deco, *segmentsymbol; + const char *segmentsymbol; int lastdepth = 0, lasttime = 0, lastsetpoint = -1, newdepth = 0, lastprintdepth = 0, lastprintsetpoint = -1; struct gasmix lastprintgasmix = gasmix_invalid; struct divedatapoint *dp = diveplan->dp; @@ -106,12 +116,6 @@ void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool show_d struct icd_data icdvalues; char *temp; - if (decoMode() == VPMB) { - deco = translate("gettextFromC", "VPM-B"); - } else { - deco = translate("gettextFromC", "BUHLMANN"); - } - if (!dp) return; @@ -123,9 +127,11 @@ void add_plan_to_notes(struct diveplan *diveplan, struct dive *dive, bool show_d } if (show_disclaimer) { + char *disclaimer = get_planner_disclaimer_formatted(); put_string(&buf, "
"); - put_format(&buf, get_planner_disclaimer(), deco); + put_string(&buf, disclaimer); put_string(&buf, "
"); + free(disclaimer); } if (diveplan->surface_interval < 0) { -- cgit v1.2.3-70-g09d2