Commit Graph

42 Commits

Author SHA1 Message Date
Rafał Harabień
d32ae0eef9 Allow seeking beyond end of file as documented in Seek trait.
Also fix possible panic when seeking in file without clusters.
2017-10-07 16:07:33 +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ń
057eef07bb Fix possible deadlock if reading dir entry fails. 2017-10-07 02:16:34 +02:00
Rafał Harabień
d97ab1d1e1 Rename crate to fatfs and add more info to Cargo.toml. 2017-10-06 17:00:38 +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ń
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ń
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ń
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ń
5f6f5921c1 Add Travis CI integration. 2017-09-27 14:21:01 +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ń
2158c712e1 Add cat and ls examples. 2017-09-24 14:34:23 +02:00
Rafał Harabień
c6ba07848e Rename some functions based on std::fs module. 2017-09-24 14:34:07 +02:00
Rafał Harabień
df2852351b Rename crate to rfat. 2017-09-24 03:13:50 +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ń
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ń
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ń
8df86d24ef Add new test images and script for generating them - tests fail. 2017-09-23 21:24:34 +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ń
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ń
745328d2ad Add license and README. 2017-09-22 22:36:51 +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
Rafał Harabień
2b235db1d9 Add functionality of reading directory. 2017-09-22 18:55:07 +02:00
Rafał Harabień
958f207ce6 Implemented reading FAT Boot Sector. 2017-09-22 02:13:29 +02:00