mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
24 lines
561 B
Go
24 lines
561 B
Go
|
// +build !windows
|
||
|
|
||
|
package dockerfile
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
)
|
||
|
|
||
|
// normaliseWorkdir normalises a user requested working directory in a
|
||
|
// platform sematically consistent way.
|
||
|
func normaliseWorkdir(current string, requested string) (string, error) {
|
||
|
if requested == "" {
|
||
|
return "", fmt.Errorf("cannot normalise nothing")
|
||
|
}
|
||
|
current = filepath.FromSlash(current)
|
||
|
requested = filepath.FromSlash(requested)
|
||
|
if !filepath.IsAbs(requested) {
|
||
|
return filepath.Join(string(os.PathSeparator), current, requested), nil
|
||
|
}
|
||
|
return requested, nil
|
||
|
}
|