- erratic reading caused by using absolute instead of relative position, fixed
This commit is contained in:
parent
bcd655fd8d
commit
9363db67f8
@ -487,7 +487,7 @@ uint32_t fat32_read_file_random_access(const Fat32_CtrlBlock *ctrl, const Fat32_
|
||||
// reading from a file may involve reading across cluster boundaries
|
||||
|
||||
// 1. read the beginning from the first cluster
|
||||
uint32_t first_read_len = MIN(read_len, ctrl->bytes_per_sector - pos);
|
||||
uint32_t first_read_len = MIN(read_len, ctrl->bytes_per_sector - pos_in_sector);
|
||||
memcpy(p, buffer + pos_in_sector, first_read_len);
|
||||
read_len -= first_read_len; // decrease the total read len with the number of bytes read from the first sector of the file
|
||||
offset += first_read_len; // advance offset
|
||||
@ -619,7 +619,7 @@ uint32_t fat32_read_file_stream(const Fat32_CtrlBlock *ctrl, Fat32_FileHelper *f
|
||||
// reading from a file may involve reading across cluster boundaries
|
||||
|
||||
// 1. read the beginning from the first cluster
|
||||
uint32_t first_read_len = MIN(read_len, ctrl->bytes_per_sector - seek_hint->pos);
|
||||
uint32_t first_read_len = MIN(read_len, ctrl->bytes_per_sector - pos_in_sector);
|
||||
memcpy(p, buffer + pos_in_sector, first_read_len);
|
||||
read_len -= first_read_len; // decrease the total read len with the number of bytes read from the first sector of the file
|
||||
offset += first_read_len; // advance offset
|
||||
|
Loading…
x
Reference in New Issue
Block a user