From 1fa26c9addfa46d561bb3603a8d6acb2144f2fb9 Mon Sep 17 00:00:00 2001 From: bsd Date: Sat, 20 Jan 2001 15:38:55 +0000 Subject: [PATCH] Correct checksum calculation; failure to account for the value of the record type was causing non-zero record types to be calculated incorrectly. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@43 81a1dc3b-b13d-400b-aceb-764788c761c2 --- fileio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fileio.c b/fileio.c index 7c35f4f5..79db1f05 100644 --- a/fileio.c +++ b/fileio.c @@ -125,7 +125,7 @@ int b2ihex ( unsigned char * inbuf, int bufsize, n = 0; nextaddr = 0; fprintf ( outf, ":%02X%04X01", n, nextaddr ); - cksum += n + ((nextaddr >> 8) & 0x0ff) + (nextaddr & 0x0ff); + cksum += n + ((nextaddr >> 8) & 0x0ff) + (nextaddr & 0x0ff) + 1; cksum = -cksum; fprintf ( outf, "%02X\n", cksum ); @@ -175,7 +175,7 @@ int ihex2b ( char * infile, FILE * inf, } /* start computing a checksum */ - cksum = n + ((nextaddr >> 8 ) & 0x0ff) + (nextaddr & 0x0ff); + cksum = n + ((nextaddr >> 8 ) & 0x0ff) + (nextaddr & 0x0ff) + rectype; for (i=0; i