[LON-CAPA-cvs] cvs: loncom /cgi plot.gif

raeburn raeburn at source.lon-capa.org
Wed Feb 19 13:53:17 EST 2020


raeburn		Wed Feb 19 18:53:17 2020 EDT

  Modified files:              
    /loncom/cgi	plot.gif 
  Log:
  - Eliminate "warning: iconv failed to convert degree sign" warnings logged
    by gnuplot 5.2
  - Detect case where pipe to run gnuplot failed to open.
  
  
Index: loncom/cgi/plot.gif
diff -u loncom/cgi/plot.gif:1.16 loncom/cgi/plot.gif:1.17
--- loncom/cgi/plot.gif:1.16	Wed Oct 12 18:50:02 2016
+++ loncom/cgi/plot.gif	Wed Feb 19 18:53:17 2020
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 #
-# $Id: plot.gif,v 1.16 2016/10/12 18:50:02 musolffc Exp $
+# $Id: plot.gif,v 1.17 2020/02/19 18:53:17 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -47,14 +47,18 @@
 }
 
 if ($output eq 'gif' || $output eq 'png') {
-    open(my $plot, "gnuplot $filename |");
+    if (open(my $plot, "export LANG='en_US.UTF-8'; gnuplot $filename |")) {
 
-    print <<"END";
+        print <<"END";
 Content-type: image/$output
 
 END
-    while (my $line = <$plot>) {
-	print($line);
+        while (my $line = <$plot>) {
+	    print($line);
+        }
+        close($plot);
+    } else {
+        die "failed to open pipe to run gnuplot\n";        
     }
 
 } elsif ($output eq 'eps') {
@@ -66,7 +70,7 @@
 <h2>Creating eps plot</h2>
 
 END
-    if (! system ("gnuplot $filename")) {
+    if (! system ("export LANG='en_US.UTF-8'; gnuplot $filename")) {
         print "<h2>An error occurred.</h2>\n".
             "I am not going to tell you about it as I have not bothered ".
             "to figure out how to get you the error text.\n";




More information about the LON-CAPA-cvs mailing list