From e293f2b5a29cdf081c81ccbe052f8c3f42df6d7a Mon Sep 17 00:00:00 2001
From: Joerg Wunsch <j@uriah.heep.sax.de>
Date: Sat, 28 Feb 2009 10:07:01 +0000
Subject: [PATCH] * avr910.c (avr910_read_byte_flash): Eliminate a static
 variable that hasn't been in use for 5 years.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@814 81a1dc3b-b13d-400b-aceb-764788c761c2
---
 avrdude/ChangeLog |  5 +++++
 avrdude/avr910.c  | 35 +++++++++++------------------------
 2 files changed, 16 insertions(+), 24 deletions(-)

diff --git a/avrdude/ChangeLog b/avrdude/ChangeLog
index f23c253e..9974b862 100644
--- a/avrdude/ChangeLog
+++ b/avrdude/ChangeLog
@@ -1,3 +1,8 @@
+2009-02-28  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	* avr910.c (avr910_read_byte_flash): Eliminate a static variable that
+	hasn't been in use for 5 years.
+
 2009-02-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	* configure.ac: Post-release 5.6.
diff --git a/avrdude/avr910.c b/avrdude/avr910.c
index 9314b290..9b3642ef 100644
--- a/avrdude/avr910.c
+++ b/avrdude/avr910.c
@@ -457,33 +457,20 @@ static int avr910_write_byte(PROGRAMMER * pgm, AVRPART * p, AVRMEM * m,
 static int avr910_read_byte_flash(PROGRAMMER * pgm, AVRPART * p, AVRMEM * m,
                                   unsigned long addr, unsigned char * value)
 {
-  static int cached = 0;
-  static unsigned char cvalue;
-  static unsigned long caddr;
+  char buf[2];
 
-  if (cached && ((caddr + 1) == addr)) {
-    *value = cvalue;
-    cached = 0;
+  avr910_set_addr(pgm, addr >> 1);
+
+  avr910_send(pgm, "R", 1);
+
+  /* Read back the program mem word (MSB first) */
+  avr910_recv(pgm, buf, sizeof(buf));
+
+  if ((addr & 0x01) == 0) {
+    *value = buf[1];
   }
   else {
-    char buf[2];
-
-    avr910_set_addr(pgm, addr >> 1);
-
-    avr910_send(pgm, "R", 1);
-
-    /* Read back the program mem word (MSB first) */
-    avr910_recv(pgm, buf, sizeof(buf));
-
-    if ((addr & 0x01) == 0) {
-      *value = buf[1];
-      // cached = 1;
-      cvalue = buf[0];
-      caddr = addr;
-    }
-    else {
-      *value = buf[0];
-    }
+    *value = buf[0];
   }
 
   return 0;