diff options
| author | gingerBill <gingerBill@users.noreply.github.com> | 2021-05-27 13:35:46 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-27 13:35:46 +0100 |
| commit | b65e5d5e034acc6f5d0b0f29deb6e0796ba04971 (patch) | |
| tree | 586345166bdf951955cc4960069a12aa318ed7a5 | |
| parent | bb7bd94b0ab671513ca2a4e3f9b9973bed87daa6 (diff) | |
| parent | b110153b5112e926320c4895186a7d85fa7d6ac8 (diff) | |
Merge pull request #1003 from jockus/master
Fix deleting substring in filepath.rel
| -rw-r--r-- | core/path/filepath/path.odin | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/core/path/filepath/path.odin b/core/path/filepath/path.odin index 5ec28c2ec..9f1719f3b 100644 --- a/core/path/filepath/path.odin +++ b/core/path/filepath/path.odin @@ -206,23 +206,23 @@ Relative_Error :: enum { rel :: proc(base_path, target_path: string, allocator := context.allocator) -> (string, Relative_Error) { context.allocator = allocator; - base_vol, target_vol := volume_name(base_path), volume_name(target_path); - base, target := clean(base_path), clean(target_path); + base_clean, target_clean := clean(base_path), clean(target_path); delete_target := true; defer { if delete_target { - delete(target); + delete(target_clean); } - delete(base); + delete(base_clean); } - if strings.equal_fold(target, base) { + if strings.equal_fold(target_clean, base_clean) { return strings.clone("."), .None; } - base = base[len(base_vol):]; - target = target[len(target_vol):]; + base_vol, target_vol := volume_name(base_path), volume_name(target_path); + base := base_clean[len(base_vol):]; + target := target_clean[len(target_vol):]; if base == "." { base = ""; } |