Age | Commit message (Collapse) | Author |
|
|
|
|
|
ntfs-shell is a command-line shell to navigate through an NTFS filesystem.
It works read-only on image files, loopback devices, and raw partitions.
Very useful for debugging the crate, examining the structure of an NTFS filesystem, and extracting data from it.
|
|
|
|
This greatly reduces the number of heap allocations when traversing an index.
|
|
This is where things get dirty. As NTFS requires us to fix up records, we can't continue our previous design of avoiding dynamic allocations and reading everything on demand via `io::Read`.
Instead, we now read an entire record (usually not larger than 4 KiB), fix it up, and store it in a `Vec`.
This required changes almost everywhere.
It should be noted that many non-resident attributes are not part of a record, which is why structured values are now implemented differently depending on the attribute type.
On the plus side, many structures need less borrowing now, which makes them more comfortable to use.
I have also added missing sanity checks with precise errors where appropriate.
|
|
|
|
|
|
refactor many affected parts.
|
|
files, resident attributes, StandardInformation and FileName structures, string and time parsing, with real filesystem tests for all of that.
|