On Wed, Jan 28, 2009 at 11:53 AM, Theppitak Karoonboonyanan
<t...@linux.thai.net> wrote:

> I also saw this bug. And I managed to workaround it in my machine with
> the attached patch.

Oops. Forgot the patch.

-- 
Theppitak Karoonboonyanan
http://linux.thai.net/~thep/
--- /usr/bin/calamaris.orig	2009-01-28 10:40:45.000000000 +0700
+++ /usr/bin/calamaris	2009-01-28 11:34:48.000000000 +0700
@@ -4048,13 +4048,13 @@
 
   if ($max_x_data < 0) {
     # show last $max_x_data Values
-    $min_x = ($...@$xaxis_ref} + $max_x_data < 0) ? 0
-      : $...@$xaxis_ref} + $max_x_data + 1;
-    $max_x = $...@$xaxis_ref};
+    $min_x = ($#{$xaxis_ref} + $max_x_data < 0) ? 0
+      : $#{$xaxis_ref} + $max_x_data + 1;
+    $max_x = $#{$xaxis_ref};
   } else {
     # show first $max_x_data Values
     $min_x = 0;
-    $max_x = ($...@$xaxis_ref} > $max_x_data) ? $max_x_data : $...@$xaxis_ref};
+    $max_x = ($#{$xaxis_ref} > $max_x_data) ? $max_x_data : $#{$xaxis_ref};
   }
 
   my $graph = calamaris::calBars3d->new($width, int($width/3*2));
@@ -4080,7 +4080,7 @@
   ($factor0, $unit0) = getfactor(max(@$yaxis1_ref[$min_x..$max_x]),9);
   $yaxis1_ref = reformatarray($factor0, $yaxis1_ref) if ($factor0 > 1);
   my %graph_label = (x_label		=> '',
-		     y_label		=> "$unit0 $...@$legend_ref}[0]",
+		     y_label		=> "$unit0 ${$legend_ref}[0]",
 		     title		=> '',
 		     two_axes		=> '0',
 		     x_labels_vertical	=> '1',
@@ -4111,8 +4111,8 @@
     push @data, [...@$yaxis2_ref[$min_x..$max_x]];
     push @data, [...@$yaxis3_ref[$min_x..$max_x]] if ref($yaxis3_ref);
     push @data, [...@$yaxis4_ref[$min_x..$max_x]] if ref($yaxis4_ref);
-    %graph_label = ( y1_label		=> "$unit0 $...@$legend_ref}[0]",
-		    y2_label		=> "$unit1 $...@$legend_ref}[1]",
+    %graph_label = ( y1_label		=> "$unit0 ${$legend_ref}[0]",
+		    y2_label		=> "$unit1 ${$legend_ref}[1]",
 		    two_axes		=> '1',
 		    bar_spacing		=> '0',
 		    set_spacing		=> '6', );

Reply via email to