diff options
author | Ben Bridle <ben@derelict.engineering> | 2025-01-15 15:30:34 +1300 |
---|---|---|
committer | Ben Bridle <ben@derelict.engineering> | 2025-01-15 15:30:34 +1300 |
commit | 665902237292333cb538ba8e30330168bcb6ebde (patch) | |
tree | 955a6aed3db05e61d2b897d321c607881de64b89 | |
parent | 740df75e2bf62d067ca76bd661f9c46b4a228678 (diff) | |
download | vagabond-665902237292333cb538ba8e30330168bcb6ebde.zip |
Use original path when using Entry as a path
Using the original path preserves the original unresolved path of the
entry, which is important for directory traversal tasks.
-rw-r--r-- | src/entry.rs | 2 | ||||
-rw-r--r-- | src/operations/ls.rs | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/entry.rs b/src/entry.rs index b59ced5..72eeb7e 100644 --- a/src/entry.rs +++ b/src/entry.rs @@ -86,6 +86,6 @@ impl Entry { impl AsRef<Path> for Entry { fn as_ref(&self) -> &Path { - &self.path + &self.original_path } } diff --git a/src/operations/ls.rs b/src/operations/ls.rs index afb0f18..ab07305 100644 --- a/src/operations/ls.rs +++ b/src/operations/ls.rs @@ -40,7 +40,7 @@ pub fn traverse_directory(path: impl AsRef<Path>) -> ReadResult<Vec<Entry>> { for entry in list_directory(path)? { match entry.entry_type { EntryType::File => file_entries.push(entry), - EntryType::Directory => file_entries.extend(traverse_directory(&entry.path)?), + EntryType::Directory => file_entries.extend(traverse_directory(entry)?), } } return Ok(file_entries); |