Have more intelligence on splitting bind paths
This commit is contained in:
@@ -315,3 +315,43 @@ func CopyUIDGID(source string, dest string) error {
|
||||
err = os.Chown(dest, UID, GID)
|
||||
return err
|
||||
}
|
||||
|
||||
func SplitEscaped(input, delim, escape string) []string {
|
||||
var ret []string
|
||||
str := ""
|
||||
for i := 1; i < len(input); i++ {
|
||||
str += string(input[i-1])
|
||||
if string(input[i]) == delim && string(input[i-1]) != escape {
|
||||
i++
|
||||
ret = append(ret, str)
|
||||
str = ""
|
||||
}
|
||||
if string(input[i]) == escape {
|
||||
i++
|
||||
}
|
||||
|
||||
}
|
||||
str += string(input[len(input)-1])
|
||||
ret = append(ret, str)
|
||||
|
||||
return (ret)
|
||||
}
|
||||
|
||||
func SplitPaths(input, delim string) []string {
|
||||
var ret []string
|
||||
str := ""
|
||||
for i := 1; i < len(input); i++ {
|
||||
str += string(input[i-1])
|
||||
//if (string(input[i]) == delim && string(input[i-1]) != "/") && (IsDir(str) || IsFile(str)) {
|
||||
if string(input[i]) == delim && (IsDir(str) || IsFile(str)) {
|
||||
i++
|
||||
ret = append(ret, str)
|
||||
str = ""
|
||||
}
|
||||
|
||||
}
|
||||
str += string(input[len(input)-1])
|
||||
ret = append(ret, str)
|
||||
|
||||
return (ret)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user