From 566bfc2d476b2e13c39d5bccaf45642b4a6ed003 Mon Sep 17 00:00:00 2001 From: Aleisha Amohia Date: Tue, 25 Jun 2024 21:43:22 +0000 Subject: [PATCH] Bug 23685: Don't store ODS content in a variable to save memory Just attaching this to start. Sponsored-by: Waikato Institute of Technology --- reports/guided_reports.pl | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/reports/guided_reports.pl b/reports/guided_reports.pl index b7c722945aa..6b3991d9200 100755 --- a/reports/guided_reports.pl +++ b/reports/guided_reports.pl @@ -683,7 +683,11 @@ elsif ($op eq 'export'){ # Output binmode(STDOUT); open $ods_fh, '<', $ods_filepath; - $content .= $_ while <$ods_fh>; + print $input->header( + -type => $type, + -attachment => $reportfilename + ); + print $_ while <$ods_fh>; unlink $ods_filepath; } elsif ( $format eq 'template' ) { @@ -707,11 +711,14 @@ elsif ($op eq 'export'){ ); } } - print $input->header( - -type => $type, - -attachment=> $reportfilename - ); - print $content; + + unless ( $format eq 'ods' ) { + print $input->header( + -type => $type, + -attachment => $reportfilename + ); + print $content; + } foreach my $err (@$q_errors, @errors) { print "# ERROR: " . (map {$_ . ": " . $err->{$_}} keys %$err) . "\n"; -- 2.39.2