Commit Graph

30 Commits

Author SHA1 Message Date
Rafał Harabień
2a61b0d175 Small code improvements. 2017-10-21 15:51:19 +02:00
Rafał Harabień
98ec30589a Add some sanity checks and fix possible issues with partial read when not using read_exact. 2017-10-10 23:19:44 +02:00
Rafał Harabień
d52b0918ca Support FAT mirroring. 2017-10-10 23:18:32 +02:00
Rafał Harabień
d8eba51b88 Alloc and free clusters for file data. 2017-10-09 21:14:28 +02:00
Rafał Harabień
f32f1c7279 Basic write support for files.
No cluster management yet.
Also BufStream is broken when writing.
2017-10-09 14:59:52 +02:00
Rafał Harabień
37f52e4024 Fix warnings. 2017-10-07 16:45:11 +02:00
Rafał Harabień
120c9b035c Rename DirReader to DirRawStream. 2017-10-07 15:00:27 +02:00
Rafał Harabień
a1a2ffc2af Remove unneeded Fat prefix for most structures. 2017-10-07 14:56:50 +02:00
Rafał Harabień
beb463ba3f Fix possible panics if cluster chain ends before EOF. 2017-10-07 02:37:29 +02:00
Rafał Harabień
3e08c80fb0 Dont assume cluster iterator always succeeds. 2017-10-07 02:19:19 +02:00
Rafał Harabień
a7ca474a2f Add FatDir::iter() method returning dir entries iterator.
FatDir is no longer iterator. Change allows to iterate over directory and still be able to use it.
2017-10-06 16:07:11 +02:00
Rafał Harabień
bfa4984ae3 Use lossy conversion for UTF-8/16 strings instead of panicking. 2017-10-06 15:51:01 +02:00
Rafał Harabień
bc835d59b5 Don't use boxed buffer in FAT cluster reading code.
I assume gived Read object is capable of basic buffering and caching.
2017-10-04 13:56:44 +02:00
Rafał Harabień
94dfe7ffd5 Remove exfat references.
exfat is very different from fat12/16/32 and wont be supported.
2017-10-01 21:39:11 +02:00
Rafał Harabień
284d26282c Rename some fields in internal bsp struct. 2017-10-01 18:13:59 +02:00
Rafał Harabień
c8ccd7d86e Don't use dynamic allocation for FAT table wrapper.
FAT table still uses Box but its hardly avoidable when reading entire FAT into memory.
2017-09-28 00:11:24 +02:00
Rafał Harabień
cb6d486e86 Fix warning. 2017-09-27 14:20:52 +02:00
Rafał Harabień
4feeb3eead Use references instead of Rc for shared state. 2017-09-27 14:05:58 +02:00
Rafał Harabień
840290f754 Add LFN support and rename some functions. 2017-09-24 22:12:38 +02:00
Rafał Harabień
6b6759802a Refactoring. 2017-09-24 03:08:00 +02:00
Rafał Harabień
daa51e3540 Implement Seek trait for File and rewind method in Dir. 2017-09-24 02:10:59 +02:00
Rafał Harabień
50d020d05c Fix reading long files. 2017-09-23 22:22:25 +02:00
Rafał Harabień
e44d7fc6c2 Fix reading FAT32 root dir. 2017-09-23 21:53:32 +02:00
Rafał Harabień
b535b460f9 Implement reading files beyond cluster (untested). 2017-09-23 20:16:32 +02:00
Rafał Harabień
88fd442dac Refactor code to use shared state.
This way for example FatFile can implement Read trait.
2017-09-23 19:42:09 +02:00
Rafał Harabień
3933a29078 Implemented basic FAT table support. 2017-09-23 14:16:02 +02:00
Rafał Harabień
6b18dfd626 Don't read past end of file. 2017-09-23 00:22:31 +02:00
Rafał Harabień
65936f8f27 Restructure into proper crate. 2017-09-22 23:20:06 +02:00
Rafał Harabień
91ba151398 Add file read methods. 2017-09-22 22:27:39 +02:00
Rafał Harabień
c5ab2f94d5 Split reading dir and fs code into modules. 2017-09-22 20:50:41 +02:00