mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
ae8dbeaeed
Signed-off-by: Stephen J Day <stephen.day@docker.com>
34 lines
891 B
Go
34 lines
891 B
Go
// +build !windows
|
|
|
|
package dockerfile
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
// normalizeWorkdir normalizes a user requested working directory in a
|
|
// platform semantically consistent way.
|
|
func normalizeWorkdir(_ string, current string, requested string) (string, error) {
|
|
if requested == "" {
|
|
return "", errors.New("cannot normalize 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
|
|
}
|
|
|
|
func errNotJSON(command, _ string) error {
|
|
return fmt.Errorf("%s requires the arguments to be in JSON form", command)
|
|
}
|
|
|
|
// equalEnvKeys compare two strings and returns true if they are equal. On
|
|
// Windows this comparison is case insensitive.
|
|
func equalEnvKeys(from, to string) bool {
|
|
return from == to
|
|
}
|