summaryrefslogtreecommitdiff
path: root/firmware/drivers/fat.c
AgeCommit message (Collapse)Author
2004-08-22Bug fix: renaming a directory could cause a name clash. New feature: ↵Linus Nielsen Feltzing
rename() can now move files/directories as well. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5008 a1c6a512-1295-4272-9138-f99709370657
2004-08-17 Const policed pointer arguments to functions, part 2Jens Arnold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4996 a1c6a512-1295-4272-9138-f99709370657
2004-07-24Removed nasty lvalue castLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4934 a1c6a512-1295-4272-9138-f99709370657
2004-04-16New function: rmdir(). Also some changes in the fat code, to track the ↵Linus Nielsen Feltzing
parent directory in opendir(), to be able to delete directories git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4509 a1c6a512-1295-4272-9138-f99709370657
2004-04-06Added cluster size to the disk debug screenLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4469 a1c6a512-1295-4272-9138-f99709370657
2004-01-26Oops. Wrong arguments to memset(). Thanks to Mike Wilson for pointing that out.Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4274 a1c6a512-1295-4272-9138-f99709370657
2004-01-15Ooops. Forgot to clear the newly allocated cluster in mkdir()Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4242 a1c6a512-1295-4272-9138-f99709370657
2004-01-15Second bug in mkdir() :-)Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4241 a1c6a512-1295-4272-9138-f99709370657
2004-01-15Implemented the mkdir() function in the FAT32 driverLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4238 a1c6a512-1295-4272-9138-f99709370657
2003-11-03Patch #791531 by Barry McIntosh, fake time stamps for file creation/updates ↵Linus Nielsen Feltzing
on Players git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4005 a1c6a512-1295-4272-9138-f99709370657
2003-10-28Killed a warning (and a bug I introduced in the last commit)Linus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3994 a1c6a512-1295-4272-9138-f99709370657
2003-10-26Better error reportingLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3986 a1c6a512-1295-4272-9138-f99709370657
2003-07-19Another go at the disk-full FAT driver fix. Now it skips the reserved ↵Linus Nielsen Feltzing
sectors at all times. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3847 a1c6a512-1295-4272-9138-f99709370657
2003-07-16Fixed a bug that included the reserved clusters 0 and 1 in the search for ↵Linus Nielsen Feltzing
available clusters. That could in some cases lead to a bogus disk-full error. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3836 a1c6a512-1295-4272-9138-f99709370657
2003-06-19Now handles a full disk a little better, and it doesn't trust the fsinfo anymoreLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3755 a1c6a512-1295-4272-9138-f99709370657
2003-06-03Small seek optimization -- begin seek at last read cluster if possibleHardeep Sidhu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3720 a1c6a512-1295-4272-9138-f99709370657
2003-04-24More detailed error codesLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3605 a1c6a512-1295-4272-9138-f99709370657
2003-04-11Corrected win1251 -> iso 8859-5 conversion (Alex)Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3532 a1c6a512-1295-4272-9138-f99709370657
2003-03-04update_fat_entry() set the wrong cache line dirty if bpb_resvdseccnt wasn't ↵Linus Nielsen Feltzing
divisible by 32 (didn't compensate for the reserved sector count) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3379 a1c6a512-1295-4272-9138-f99709370657
2003-02-26Enhanced error codes for better error trackingLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3341 a1c6a512-1295-4272-9138-f99709370657
2003-01-29The dir code is now reentrant.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3184 a1c6a512-1295-4272-9138-f99709370657
2003-01-27Directories can now be renamed too.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3167 a1c6a512-1295-4272-9138-f99709370657
2003-01-24Remove use of rockbox-mode.el in local variables list.Mats Lidell
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3157 a1c6a512-1295-4272-9138-f99709370657
2003-01-17Added table for converting unicode page 1 and 2 into ISO 8859-2Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3123 a1c6a512-1295-4272-9138-f99709370657
2003-01-14Made unicode2iso() static.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3087 a1c6a512-1295-4272-9138-f99709370657
2003-01-14Added unicode conversion from cyrillic, greek, hebrew, arabic and thai.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3086 a1c6a512-1295-4272-9138-f99709370657
2002-12-09Added recalculation of free disk space. Press PLAY in Debug->Disk Info->Free ↵Björn Stenberg
to run it. Takes ~30 sec on my 40GB Toshiba. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2968 a1c6a512-1295-4272-9138-f99709370657
2002-11-22Fixed warnings.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2876 a1c6a512-1295-4272-9138-f99709370657
2002-11-22Added creation and last-modified timestamps.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2875 a1c6a512-1295-4272-9138-f99709370657
2002-11-19Removed some debug output.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2858 a1c6a512-1295-4272-9138-f99709370657
2002-11-19Added rename()Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2857 a1c6a512-1295-4272-9138-f99709370657
2002-11-18Bug fixes: 1) add_dir_entry() would update end-of-dir marker even when not ↵Björn Stenberg
supposed to. 2) create_dos_name() didn't treat spaces correctly. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2854 a1c6a512-1295-4272-9138-f99709370657
2002-11-18Added longname handling to fat_remove().Björn Stenberg
Added proper 0xffff padding of last longname entry. add_dir_entry() now makes sure shortname is unique. Changed update_file_size() to use dir-as-file handling. Simplified create_dos_name() since we never use shortnames. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2853 a1c6a512-1295-4272-9138-f99709370657
2002-11-15Long filename support added. (fat_remove() not updated yet.)Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2852 a1c6a512-1295-4272-9138-f99709370657
2002-11-15Cleaned up dir handling further.Björn Stenberg
Fixed a bug where a new dir cluster wasn't completely cleared. Added freecount calculation if unset. Removed a couple of signed mul/divs. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2851 a1c6a512-1295-4272-9138-f99709370657
2002-11-14Added check to avoid FAT sector 0 panic.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2850 a1c6a512-1295-4272-9138-f99709370657
2002-11-13Directories are now handled as files, using fat_readwrite() instead of ↵Björn Stenberg
ata_read/write_sector(). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2844 a1c6a512-1295-4272-9138-f99709370657
2002-11-12Added extra safety checks.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2839 a1c6a512-1295-4272-9138-f99709370657
2002-11-12Added disk space to Info menu item. (Players press + to see it.)Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2837 a1c6a512-1295-4272-9138-f99709370657
2002-11-11Added ftruncate().Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2827 a1c6a512-1295-4272-9138-f99709370657
2002-11-11close() now does not truncate the file.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2821 a1c6a512-1295-4272-9138-f99709370657
2002-11-09Greg's improved fat_cache_sector() function, now updates the second FATLinus Nielsen Feltzing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2814 a1c6a512-1295-4272-9138-f99709370657
2002-11-08fat_cache_sector() wrote to the wrong sector when flushing an entry. Thanks ↵Linus Nielsen Feltzing
to Greg Haerr for finding the bug. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2813 a1c6a512-1295-4272-9138-f99709370657
2002-11-05Bug fixes: fat_seek(0) would sometimes start at sector 1. ↵Björn Stenberg
find_free_cluster() didn't find all free clusters. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2806 a1c6a512-1295-4272-9138-f99709370657
2002-11-04Bugfix: lseek() did not invalidate sector cache when seeking to start of file.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2803 a1c6a512-1295-4272-9138-f99709370657
2002-11-04Bugfix: If last sector of a requested transfer was nonconsecutive, it would ↵Björn Stenberg
not be written. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2802 a1c6a512-1295-4272-9138-f99709370657
2002-11-01Added remove()Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2801 a1c6a512-1295-4272-9138-f99709370657
2002-11-01Removed warning.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2799 a1c6a512-1295-4272-9138-f99709370657
2002-10-31Fixed lseek().Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2796 a1c6a512-1295-4272-9138-f99709370657
2002-10-31More graceful handling when running out of space.Björn Stenberg
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2793 a1c6a512-1295-4272-9138-f99709370657