Commit Graph

34 Commits

Author SHA1 Message Date
Rafał Harabień
e2374c08cc Fix seek for directory backed file. 2017-10-15 15:56:01 +02:00
Rafał Harabień
da76625759 Replace commented out logging by log crate usage. 2017-10-15 00:55:19 +02:00
Rafał Harabień
ef96f90b0d Add checking for LFN sequence corruption. 2017-10-14 15:24:03 +02:00
Rafał Harabień
0c6e9aec5b Fix multiple corner cases and simplify code. 2017-10-10 16:05:19 +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ń
a974a61cb8 Fix dir entries pointing to root directory.
Fixes 'ls dir/..'.
2017-10-07 16:31:42 +02:00
Rafał Harabień
f850c76a1b Dont panic on unknown file attributes. 2017-10-07 16:25:53 +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ń
057eef07bb Fix possible deadlock if reading dir entry fails. 2017-10-07 02:16:34 +02:00
Rafał Harabień
b604b19bde Make chrono crate dependency optional. 2017-10-06 16:42:29 +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ń
f9f192c35e Add FAT table iterator. 2017-10-01 21:31:44 +02:00
Rafał Harabień
d88850624a Remove FatDir::list() method.
Vec can be created by using Iterator trait.
2017-10-01 18:45:58 +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ń
c6ba07848e Rename some functions based on std::fs module. 2017-09-24 14:34:07 +02:00
Rafał Harabień
6b6759802a Refactoring. 2017-09-24 03:08:00 +02:00
Rafał Harabień
894c2d34f3 Implement Iterator for FatDir. 2017-09-24 02:24:42 +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ń
8d974a6ee4 Add path traversal functions. 2017-09-24 00:05:43 +02:00
Rafał Harabień
e44d7fc6c2 Fix reading FAT32 root dir. 2017-09-23 21:53:32 +02:00
Rafał Harabień
c65d26bd2b Ignore LFN and fix handling of extension in filename.
Fixes fat12 and fat16 tests. Fat32 still doesnt work.
2017-09-23 21:29:11 +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ń
6b18dfd626 Don't read past end of file. 2017-09-23 00:22:31 +02:00
Rafał Harabień
dd23854cd5 Use typed attributes. 2017-09-22 23:36:44 +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