From 3d43a61bccdb907830cc79a5050f7b9fc5d96f39 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/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