diff options
author | Björn Stenberg <bjorn@haxx.se> | 2002-11-04 13:52:47 +0000 |
---|---|---|
committer | Björn Stenberg <bjorn@haxx.se> | 2002-11-04 13:52:47 +0000 |
commit | 6a8900b528922b4b26ce2f582233036da14c2614 (patch) | |
tree | da5fc48adf37e898e07d25065966a4ca344cf9d8 | |
parent | 307f5d846e1513ef609b76e2d6cea035c8465b33 (diff) | |
download | rockbox-6a8900b528922b4b26ce2f582233036da14c2614.tar.gz rockbox-6a8900b528922b4b26ce2f582233036da14c2614.zip |
Bugfix: If last sector of a requested transfer was nonconsecutive, it would not be written.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2802 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/drivers/fat.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c index 74f61c2552..f6d6c73e74 100644 --- a/firmware/drivers/fat.c +++ b/firmware/drivers/fat.c | |||
@@ -1178,13 +1178,12 @@ int fat_readwrite( struct fat_file *file, int sectorcount, | |||
1178 | ((char*)buf) += count * SECTOR_SIZE; | 1178 | ((char*)buf) += count * SECTOR_SIZE; |
1179 | first = sector; | 1179 | first = sector; |
1180 | } | 1180 | } |
1181 | else { | 1181 | |
1182 | if (i == sectorcount-1) { /* last sector requested */ | 1182 | if (i == sectorcount-1) { /* last sector requested */ |
1183 | int count = sector - first + 1; | 1183 | int count = sector - first + 1; |
1184 | if (!transfer( first + fat_bpb.startsector, | 1184 | if (!transfer( first + fat_bpb.startsector, |
1185 | count, buf, write )) | 1185 | count, buf, write )) |
1186 | return -2; | 1186 | return -2; |
1187 | } | ||
1188 | } | 1187 | } |
1189 | 1188 | ||
1190 | last = sector; | 1189 | last = sector; |