--- loncom/interface/printout.pl 2017/01/29 23:53:55 1.164 +++ loncom/interface/printout.pl 2017/11/12 15:41:45 1.165 @@ -1,7 +1,7 @@ #!/usr/bin/perl # CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc. # -# $Id: printout.pl,v 1.164 2017/01/29 23:53:55 raeburn Exp $ +# $Id: printout.pl,v 1.165 2017/11/12 15:41:45 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -980,18 +980,29 @@ sub convert_figure { $eps_f = $perlvar{'lonPrtDir'}.'/'.$eps_f; &debug("Converting pdf $not_eps to postscript: $eps_f"); - system("pdftops $not_eps $eps_f"); - $pdfs_converted++; # Need to fix ps in last pass. + my @args = ('pdftops',$not_eps,$eps_f); + system({$args[0]} @args); # Indirect object forces list processing mode. + # See perlfunc documentation for exec(). + if ($? and $advanced_role) { + print '

' + .&mt('An error occurred during the conversion of [_1] to postscript.', + ''.$prettyname.'') + .'

'; + } else { + $pdfs_converted++; # Need to fix ps in last pass. + } } else { - system("convert $not_eps $eps_f"); - if($? and $advanced_role){ - print '

' - .&mt('An error occurred during the conversion of [_1].', + my @args = ('convert',$not_eps,$eps_f); + system({$args[0]} @args); # Indirect object forces list processing mode. + # See perlfunc documentation for exec(). + if ($? and $advanced_role) { + print '

' + .&mt('An error occurred during the conversion of [_1].', ''.$prettyname.'') - .'
' - .&mt('If possible try to save this image using different settings and republish it.') - .'

'; - } + .'
' + .&mt('If possible try to save this image using different settings and republish it.') + .'

'; + } } if (not -e $eps_f) {