block-vvfat: fix a warning
[qemu] / block-vvfat.c
index 429c37c..7905931 100644 (file)
@@ -509,9 +509,12 @@ static inline uint8_t fat_chksum(const direntry_t* entry)
     uint8_t chksum=0;
     int i;
 
-    for(i=0;i<11;i++)
-       chksum=(((chksum&0xfe)>>1)|((chksum&0x01)?0x80:0))
-           +(unsigned char)entry->name[i];
+    for(i=0;i<11;i++) {
+        unsigned char c;
+
+        c = (i <= 8) ? entry->name[i] : entry->extension[i-8];
+        chksum=(((chksum&0xfe)>>1)|((chksum&0x01)?0x80:0)) + c;
+    }
 
     return chksum;
 }