From 583c0217c49b253064edd487d738fc8cc92f0792 Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Sat, 28 Apr 2018 00:35:53 +0800 Subject: [PATCH] line&bar chart subtitles are always sanitized This obviates bug 726449 for consistency --- .../report/report-system/html-barchart.scm | 18 ---------------- gnucash/report/report-system/html-scatter.scm | 10 ++++----- .../standard-reports/budget-barchart.scm | 21 +++++-------------- 3 files changed, 9 insertions(+), 40 deletions(-) diff --git a/gnucash/report/report-system/html-barchart.scm b/gnucash/report/report-system/html-barchart.scm index 37f2c86c87..8b3f847366 100644 --- a/gnucash/report/report-system/html-barchart.scm +++ b/gnucash/report/report-system/html-barchart.scm @@ -135,24 +135,6 @@ (define gnc:html-barchart-subtitle (record-accessor 'subtitle)) -;; Note: Due to Bug726449 the input string's non-printable control -;; characters must translated to HTML format tags BEFORE -;; or WHEN calling this function. -;; AND: -;; To ensure that the generated subtitle doesn't contain any -;; unescaped quotes or backslashes, all strings must be freed -;; from those by calling gnc:html-string-sanitize. -;; Otherwise we're opening the gates again for bug 721768. -;; -;; Example: "\n" must be translated to "
to introduce -;; a line break into the chart subtitle. -;; -;; Example call: -;; (gnc:html-barchart-set-subtitle! chart -;; (string-append "Bgt:" -;; (gnc:html-string-sanitize (number->string bgt-sum)) -;; "
Act:" ;; line break in the chart sub-title -;; (gnc:html-string-sanitize (number->string act-sum)))) (define gnc:html-barchart-set-subtitle! (record-modifier 'subtitle)) diff --git a/gnucash/report/report-system/html-scatter.scm b/gnucash/report/report-system/html-scatter.scm index f2d1ad6f0c..67647b3446 100644 --- a/gnucash/report/report-system/html-scatter.scm +++ b/gnucash/report/report-system/html-scatter.scm @@ -205,14 +205,12 @@ };\n") (if title - (begin - (push " options.title = \"") - (push title) (push "\";\n"))) + (push (format #f " options.title = ~s;\n" + (gnc:html-string-sanitize title)))) (if subtitle - (begin - (push " options.title += \" (") - (push subtitle) (push ")\";\n"))) + (push (format #f " options.title += ' (' + ~s + ')';\n" + (gnc:html-string-sanitize subtitle)))) (if (and (string? x-label) (> (string-length x-label) 0)) (begin diff --git a/gnucash/report/standard-reports/budget-barchart.scm b/gnucash/report/standard-reports/budget-barchart.scm index 1fadbc8205..24fc3ad56b 100644 --- a/gnucash/report/standard-reports/budget-barchart.scm +++ b/gnucash/report/standard-reports/budget-barchart.scm @@ -237,14 +237,8 @@ (gnc:html-barchart-append-column! chart act-vals) (gnc:html-barchart-set-row-labels! chart date-iso-string-list) (if running-sum - (gnc:html-barchart-set-subtitle! chart - (string-append "Bgt:" - (gnc:html-string-sanitize (number->string bgt-sum)) - "
Act:" - (gnc:html-string-sanitize (number->string act-sum)) - ) - ) - ) + (gnc:html-barchart-set-subtitle! + chart (format #f "Bgt: ~a Act: ~a" bgt-sum act-sum))) ) ;; else (begin @@ -253,14 +247,9 @@ (gnc:html-linechart-append-column! chart act-vals) (gnc:html-linechart-set-row-labels! chart date-iso-string-list) (if running-sum - (gnc:html-linechart-set-subtitle! chart - (string-append "Bgt:" - (gnc:html-string-sanitize (number->string bgt-sum)) - "
Act:" - (gnc:html-string-sanitize (number->string act-sum)) - ) - ) - ) + (gnc:html-linechart-set-subtitle! + chart + (format #f "Bgt: ~a Act: ~a" bgt-sum act-sum))) ) ) )