Fix off-by-one in the VirtualFAT cluster chain generator.

pull/1469/head
Dean Camera 12 years ago
parent 7f5dab4f26
commit 6da1677bc3

@ -114,7 +114,7 @@ static void ReadBlock(uint16_t BlockNumber)
} }
/* Mark last cluster as end of file */ /* Mark last cluster as end of file */
((uint16_t*)&BlockBuffer)[FILE_CLUSTERS(2049) + 3] = 0xFFFF; ((uint16_t*)&BlockBuffer)[FILE_CLUSTERS(2049) + 1] = 0xFFFF;
break; break;
case 3: case 3:

@ -39,11 +39,11 @@
/* Macros: */ /* Macros: */
#define FIRMWARE_FILE_SIZE (FLASHEND + 1UL) #define FIRMWARE_FILE_SIZE (FLASHEND + 1UL)
#define FILE_CLUSTERS(size) ((size / CLUSTER_SIZE_BYTES) + ((size % CLUSTER_SIZE_BYTES) ? 1 : 0))
#define SECTOR_SIZE_BYTES 512 #define SECTOR_SIZE_BYTES 512
#define SECTOR_PER_CLUSTER 4 #define SECTOR_PER_CLUSTER 4
#define CLUSTER_SIZE_BYTES (SECTOR_PER_CLUSTER * SECTOR_SIZE_BYTES) #define CLUSTER_SIZE_BYTES (SECTOR_PER_CLUSTER * SECTOR_SIZE_BYTES)
#define FILE_CLUSTERS(size) ((size / CLUSTER_SIZE_BYTES) + ((size % CLUSTER_SIZE_BYTES) ? 1 : 0))
#define LUN_MEDIA_BLOCKS ((FIRMWARE_FILE_SIZE / SECTOR_SIZE_BYTES) + 32) #define LUN_MEDIA_BLOCKS ((FIRMWARE_FILE_SIZE / SECTOR_SIZE_BYTES) + 32)

Loading…
Cancel
Save