web commit by HenrikBrixAndersen: Add patch for graphviz.pm
[ikiwiki] / doc / bugs / Problems_with_graphviz.pm_plug-in.mdwn
1 The graphviz.pm plug-in currently attempts to read PNG data in UTF-8 mode, which sometimes fail with a message similar to the following (depending on the input):
2
3     utf8 "\x89" does not map to Unicode at /usr/local/lib/perl5/site_perl/5.8.8/IkiWiki/Plugin/graphviz.pm line 53, <IN> chunk 1.
4     Wide character in subroutine entry at /usr/local/lib/perl5/site_perl/5.8.8/IkiWiki/Plugin/graphviz.pm line 68.
5
6 It also generates image URLs relative to the page being rendered, which means the URLs wont work when previewing a graph from the CGI script.
7
8 The patch below fixes these two issues.
9
10     --- graphviz.pm.orig        Thu Jun  7 15:45:16 2007
11     +++ graphviz.pm     Thu Jun  7 15:52:27 2007
12     @@ -41,7 +41,6 @@ sub render_graph (\%) { #{{{
13                 $pid=open2(*IN, *OUT, "$params{prog} -Tpng");
14      
15                 # open2 doesn't respect "use open ':utf8'"
16     -           binmode (IN, ':utf8');
17                 binmode (OUT, ':utf8');
18      
19                 print OUT $src;
20     @@ -70,7 +69,7 @@ sub render_graph (\%) { #{{{
21                 }
22         }
23      
24     -   return "<img src=\"".urlto($dest, $params{page})."\" />\n";
25     +   return "<img src=\"".urlto($dest, "/")."\" />\n";
26      } #}}}
27      
28      sub graph (@) { #{{{