summaryrefslogtreecommitdiff
path: root/graphics/plotutils/files/patch-tek-egm-bug
blob: f96cabfa4d6b3d11d96636b7872e4a6b65c0a156 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# This patch fixes a bug where the tek2plot program misinterprets
# optimized Tek4014 datastreams which update LoY without sending
# the ExtraByte also.
# This patch has been submitted FSF:
# From:    "Poul-Henning Kamp" <phk@phk.freebsd.dk>
# Subject: Re: Bug in plotutils-2.5.1::tek2plot 
# To:      bug-gnu-utils@gnu.org
# Message-Id: <15929.1226142709@critter.freebsd.dk>
# Date:    Sat, 08 Nov 2008 11:11:49 GMT
#######################################################################

diff -ur tek2plot/tek2plot.c tek2plot/tek2plot.c
--- tek2plot/tek2plot.c 2008-07-16 04:00:16.000000000 +0000
+++ tek2plot/tek2plot.c	2008-11-08 11:04:49.000000000 +0000
@@ -559,7 +559,7 @@
   int temp_three = 0;
 
   /* following variables are saved from point to point */
-  static int saved_lo_y = 0, saved_hi_x = 0, saved_hi_y = 0;
+  static int saved_lo_y = 0, saved_hi_x = 0, saved_hi_y = 0, saved_egm = 0;
   static bool margin_reset = false;
 
   int byte_read, type;
@@ -709,10 +709,12 @@
 	    lo_y = got_lo_y ? lo_y : saved_lo_y;	      
 	    hi_x = got_hi_x ? hi_x : saved_hi_x;
 	    hi_y = got_hi_y ? hi_y : saved_hi_y;
+	    egm = got_egm ? egm : saved_egm;
 	    
 	    saved_lo_y = lo_y;
 	    saved_hi_x = hi_x;
 	    saved_hi_y = hi_y;	      
+	    saved_egm = egm;	      
 	    
 	    /* On a genuine Tektronix 4014, the MSB of the 5-bit EGM
 	       byte sets the margin to equal Margin2 (2048) */