Have more intelligence on splitting bind paths

This commit is contained in:
Gregory Kurtzer
2021-09-01 21:13:46 -07:00
parent 50e6f0daf4
commit caf9f4b80f
2 changed files with 44 additions and 2 deletions

View File

@@ -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)
}