Incorporate two FAT bugfixes reported by Sheref Younan.

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3557 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-05-03 22:30:53 +00:00
parent a830269532
commit 510df49c46
3 changed files with 8 additions and 3 deletions

View File

@ -1718,3 +1718,6 @@
implementation is incomplete on initial checkin.
* apps/examples/nxffs and configs/sim/nxffs: Add a test a a configuration that
will be used to verify NXFFS.
* fs/fat/fs_fat32.c and fs_fat32util.c: Incorpated two bugs with fixed provided
by Sheref Younan. Thanks!

View File

@ -1179,7 +1179,7 @@ static int fat_sync(FAR struct file *filep)
* in the sector using the saved directory index.
*/
direntry = &fs->fs_buffer[ff->ff_dirindex * 32];
direntry = &fs->fs_buffer[(ff->ff_dirindex & DIRSEC_NDXMASK(fs)) * 32];
/* Set the archive bit, set the write time, and update
* anything that may have* changed in the directory

View File

@ -649,7 +649,8 @@ int fat_mount(struct fat_mountpt_s *fs, bool writeable)
goto errout_with_buffer;
}
if (fat_checkbootrecord(fs) != OK)
ret = fat_checkbootrecord(fs);
if (ret != OK)
{
/* The contents of sector 0 is not a boot record. It could be a
* partition, however. Assume it is a partition and get the offset
@ -683,7 +684,8 @@ int fat_mount(struct fat_mountpt_s *fs, bool writeable)
/* Check if this is a boot record */
if (fat_checkbootrecord(fs) != OK)
ret = fat_checkbootrecord(fs);
if (ret != OK)
{
fdbg("No valid MBR\n");
goto errout_with_buffer;