in util/safepath/safepath.go [635:661]
func ParseIntoPath(path string, isDir bool) (Path, error) {
//var safePath Path
if isDir {
dir, err := ParseIntoDir(path)
if err != nil {
return nil, err
}
if absDir, ok := dir.(AbsDir); ok {
return absDir, absDir.Validate()
}
if relDir, ok := dir.(RelDir); ok {
return relDir, relDir.Validate()
}
return nil, fmt.Errorf("unknown dir") // bug
}
file, err := ParseIntoFile(path)
if err != nil {
return nil, err
}
if absFile, ok := file.(AbsFile); ok {
return absFile, absFile.Validate()
}
if relFile, ok := file.(RelFile); ok {
return relFile, relFile.Validate()
}
return nil, fmt.Errorf("unknown file") // bug
}