From f9e7ed4694d438fb63bde7fa5169f7b3cb5ad4bb Mon Sep 17 00:00:00 2001 From: Hardeep Sidhu Date: Sat, 24 Aug 2002 17:00:10 +0000 Subject: Data at end of file was not being read if last sector fell on cluster boundary git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1968 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/fat.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'firmware') diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c index 6f82f5ab36..877beff7f1 100644 --- a/firmware/drivers/fat.c +++ b/firmware/drivers/fat.c @@ -888,20 +888,21 @@ int fat_read( struct fat_file *file, int sectorcount, void* buf ) return 0; /* find sequential sectors and read them all at once */ - for (i=0; i0; i++ ) { numsec++; if ( numsec >= fat_bpb.bpb_secperclus ) { cluster = get_next_cluster(cluster); if (!cluster) { /* end of file */ sector = -1; - break; } - - sector = cluster2sec(cluster); - if (sector<0) - return -1; - numsec=0; + else + { + sector = cluster2sec(cluster); + if (sector<0) + return -1; + numsec=0; + } } else sector++; -- cgit v1.2.3