From 683cb34d25d2ced573742c06fe386bb3aab037ac Mon Sep 17 00:00:00 2001 From: "Brian S. Dean" 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@43 81a1dc3b-b13d-400b-aceb-764788c761c2 --- avrdude/fileio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/avrdude/fileio.c b/avrdude/fileio.c index 7c35f4f5..79db1f05 100644 --- a/avrdude/fileio.c +++ b/avrdude/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