Add new_manual constructor so that crate can be used with damaged fil… #33
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…esystems.
I'd like to use this crate to carve up a damaged drive image. Unfortunately, this crate expects the BPB to be present, and in my image, the BPB is one part that is probably gone for good.
By analyzing the good parts of the image (I hope to automate it using heuristics eventually), I've figured out the required NTFS parameters to make
ntfs-shell
happy.This is my earnest attempt at implementing functionality described on Fedi. It is the minimal additional functionality I need, and doesn't include
ntfs-shell
changes in the link. As an example, that should probably be kept minimal. I can- have continue to :P- modify it.My question is: should this be
unsafe
? Am I breaking any invariants by allowing a user to inject possibly-fake parameters into a newNtfs
struct? Or will theNtfs
struct "parse and fail if the data looks incorrect" without invoking UB.My own experience with hardcoding NTFS parameters and running
ntfs_shell
on my image seems to be that this crate's functions/methods will (correctly) immediately bail if things don't look right. But happy to addunsafe
to my function if it's too difficult to verify.