Allow relative paths in configuration file

This commit is contained in:
Christoph Hagen
2022-12-09 12:09:57 +01:00
parent a563c56ec2
commit 3991211e37
3 changed files with 32 additions and 3 deletions

View File

@ -50,4 +50,23 @@ extension URL {
let attributes = try? FileManager.default.attributesOfItem(atPath: path)
return (attributes?[.size] as? NSNumber)?.intValue
}
func resolvingFolderTraversal() -> URL? {
var components = [String]()
absoluteString.components(separatedBy: "/").forEach { part in
if part == ".." {
if !components.isEmpty {
_ = components.dropLast()
} else {
components.append("..")
}
return
}
if part == "." {
return
}
components.append(part)
}
return URL(string: components.joined(separator: "/"))
}
}