diff options
Diffstat (limited to 'src/syscall')
| -rw-r--r-- | src/syscall/dll_windows.go | 28 | ||||
| -rw-r--r-- | src/syscall/security_windows.go | 1 | ||||
| -rw-r--r-- | src/syscall/zsyscall_windows.go | 9 |
3 files changed, 2 insertions, 36 deletions
diff --git a/src/syscall/dll_windows.go b/src/syscall/dll_windows.go index 34b481d6e6..78c8b0169a 100644 --- a/src/syscall/dll_windows.go +++ b/src/syscall/dll_windows.go @@ -44,7 +44,7 @@ func Syscall18(trap, nargs, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a func SyscallN(trap uintptr, args ...uintptr) (r1, r2 uintptr, err Errno) func loadlibrary(filename *uint16) (handle uintptr, err Errno) -func loadsystemlibrary(filename *uint16, absoluteFilepath *uint16) (handle uintptr, err Errno) +func loadsystemlibrary(filename *uint16) (handle uintptr, err Errno) func getprocaddress(handle uintptr, procname *uint8) (proc uintptr, err Errno) // A DLL implements access to a single DLL. @@ -53,26 +53,6 @@ type DLL struct { Handle Handle } -// We use this for computing the absolute path for system DLLs on systems -// where SEARCH_SYSTEM32 is not available. -var systemDirectoryPrefix string - -func init() { - n := uint32(MAX_PATH) - for { - b := make([]uint16, n) - l, e := getSystemDirectory(&b[0], n) - if e != nil { - panic("Unable to determine system directory: " + e.Error()) - } - if l <= n { - systemDirectoryPrefix = UTF16ToString(b[:l]) + "\\" - break - } - n = l - } -} - // LoadDLL loads the named DLL file into memory. // // If name is not an absolute path and is not a known system DLL used by @@ -89,11 +69,7 @@ func LoadDLL(name string) (*DLL, error) { var h uintptr var e Errno if sysdll.IsSystemDLL[name] { - absoluteFilepathp, err := UTF16PtrFromString(systemDirectoryPrefix + name) - if err != nil { - return nil, err - } - h, e = loadsystemlibrary(namep, absoluteFilepathp) + h, e = loadsystemlibrary(namep) } else { h, e = loadlibrary(namep) } diff --git a/src/syscall/security_windows.go b/src/syscall/security_windows.go index 67102b6929..00dc920974 100644 --- a/src/syscall/security_windows.go +++ b/src/syscall/security_windows.go @@ -290,7 +290,6 @@ type Tokenprimarygroup struct { //sys OpenProcessToken(h Handle, access uint32, token *Token) (err error) = advapi32.OpenProcessToken //sys GetTokenInformation(t Token, infoClass uint32, info *byte, infoLen uint32, returnedLen *uint32) (err error) = advapi32.GetTokenInformation //sys GetUserProfileDirectory(t Token, dir *uint16, dirLen *uint32) (err error) = userenv.GetUserProfileDirectoryW -//sys getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) = kernel32.GetSystemDirectoryW // An access token contains the security information for a logon session. // The system creates an access token when a user logs on, and every diff --git a/src/syscall/zsyscall_windows.go b/src/syscall/zsyscall_windows.go index 61d89f1460..9190ec8b20 100644 --- a/src/syscall/zsyscall_windows.go +++ b/src/syscall/zsyscall_windows.go @@ -866,15 +866,6 @@ func GetStdHandle(stdhandle int) (handle Handle, err error) { return } -func getSystemDirectory(dir *uint16, dirLen uint32) (len uint32, err error) { - r0, _, e1 := Syscall(procGetSystemDirectoryW.Addr(), 2, uintptr(unsafe.Pointer(dir)), uintptr(dirLen), 0) - len = uint32(r0) - if len == 0 { - err = errnoErr(e1) - } - return -} - func GetSystemTimeAsFileTime(time *Filetime) { Syscall(procGetSystemTimeAsFileTime.Addr(), 1, uintptr(unsafe.Pointer(time)), 0, 0) return |
