Replace execdrivers with containerd implementation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com> Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com> Signed-off-by: Anusha Ragunathan <anusha@docker.com>
This commit is contained in:
parent
9527d789e7
commit
038fe8cfea
2 changed files with 30 additions and 0 deletions
|
@ -9,3 +9,9 @@ import "syscall"
|
||||||
func Unmount(dest string) error {
|
func Unmount(dest string) error {
|
||||||
return syscall.Unmount(dest, 0)
|
return syscall.Unmount(dest, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CommandLineToArgv should not be used on Unix.
|
||||||
|
// It simply returns commandLine in the only element in the returned array.
|
||||||
|
func CommandLineToArgv(commandLine string) ([]string, error) {
|
||||||
|
return []string{commandLine}, nil
|
||||||
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package system
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
)
|
)
|
||||||
|
|
||||||
// OSVersion is a wrapper for Windows version information
|
// OSVersion is a wrapper for Windows version information
|
||||||
|
@ -34,3 +35,26 @@ func GetOSVersion() (OSVersion, error) {
|
||||||
func Unmount(dest string) error {
|
func Unmount(dest string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CommandLineToArgv wraps the Windows syscall to turn a commandline into an argument array.
|
||||||
|
func CommandLineToArgv(commandLine string) ([]string, error) {
|
||||||
|
var argc int32
|
||||||
|
|
||||||
|
argsPtr, err := syscall.UTF16PtrFromString(commandLine)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
argv, err := syscall.CommandLineToArgv(argsPtr, &argc)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer syscall.LocalFree(syscall.Handle(uintptr(unsafe.Pointer(argv))))
|
||||||
|
|
||||||
|
newArgs := make([]string, argc)
|
||||||
|
for i, v := range (*argv)[:argc] {
|
||||||
|
newArgs[i] = string(syscall.UTF16ToString((*v)[:]))
|
||||||
|
}
|
||||||
|
|
||||||
|
return newArgs, nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue