This commit is contained in:
gingerBill
2021-05-27 14:46:10 +01:00

View File

@@ -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 = "";
}