From 3ca3f9e72ffcad69c476fcaf8489d0e751e6bcc3 Mon Sep 17 00:00:00 2001 From: Mike Alexander Date: Thu, 17 Dec 2009 07:33:26 +0000 Subject: [PATCH] Don't leak a file port when saving reports. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18515 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/report/report-system/report.scm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/report/report-system/report.scm b/src/report/report-system/report.scm index 8f5774bbcd..b413c04fd3 100644 --- a/src/report/report-system/report.scm +++ b/src/report/report-system/report.scm @@ -576,10 +576,9 @@ ;; #Bug#342206. (save-result (eval-string saved-form))) (if (record? save-result) - (begin - (display saved-form - (open-file conf-file-name "a")) - (force-output) + (let ((report-port (open-file conf-file-name "a"))) + (display saved-form report-port) + (close report-port) (let ((report-name (gnc:report-name report))) (gnc-info-dialog '() @@ -592,11 +591,11 @@ )))) (define (gnc:report-template-save-to-savefile report-template) - (let ((conf-file-name gnc:current-saved-reports) - (saved-form (gnc:report-template-generate-saved-forms report-template))) - (display saved-form - (open-file conf-file-name "a")) - (force-output))) + (let* ((conf-file-name gnc:current-saved-reports) + (saved-form (gnc:report-template-generate-saved-forms report-template)) + (report-port (open-file conf-file-name "a"))) + (display saved-form report-port) + (close report-port))) ;; save all custom reports, moving the old version of the ;; saved-reports file aside as a backup