summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2025-01-15 15:30:34 +1300
committerBen Bridle <ben@derelict.engineering>2025-01-15 15:30:34 +1300
commit665902237292333cb538ba8e30330168bcb6ebde (patch)
tree955a6aed3db05e61d2b897d321c607881de64b89
parent740df75e2bf62d067ca76bd661f9c46b4a228678 (diff)
downloadvagabond-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.rs2
-rw-r--r--src/operations/ls.rs2
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);