summaryrefslogtreecommitdiff
path: root/src/buffer.c
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2019-07-09 23:33:56 +0200
committerDimitri Sokolyuk <demon@dim13.org>2019-07-09 23:33:56 +0200
commitc85434831114270daf1dd37783cf15b090b09e01 (patch)
treed9e0795862c16296e647be249338ee289216832e /src/buffer.c
parent8fff282c06c2b895e5b57b564f4cbbdc5a9204ba (diff)
Sync with v2.1.2, switch to amd64HEADv2.1.2master
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/buffer.c b/src/buffer.c
index e6f4804..40822d4 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -283,6 +283,7 @@ int readEepromFile(char eepromPath[], unsigned int eepromBuf[], long bufLimit) {
unsigned int checksum(unsigned int buffer[], long bufLimit) {
long idx;
+ long element;
unsigned int chksum = 0;
/*
@@ -290,8 +291,10 @@ unsigned int checksum(unsigned int buffer[], long bufLimit) {
*/
for (idx = 0; idx < bufLimit; idx++) {
if (buffer[idx] == 0xfff)
- buffer[idx] = 0xff;
- chksum = ((chksum>>1) + ((chksum & 1) ?0x8000:0) + buffer[idx]) & 0xffff;
+ element = 0xff;
+ else
+ element = buffer[idx];
+ chksum = ((chksum>>1) + ((chksum & 1) ?0x8000:0) + element) & 0xffff;
}
return(chksum);
}