mirror of https://github.com/golang/go.git
syscall: fix ComputerName on Windows
GetComputerName expects n to be the size of the buffer, and on output contains the number of characters copied to the buffer. CL 493036 broke ComputerName by always setting n to 0. Change-Id: I3f4b30d2f9825d321a6d28ec82bdc7b6294e04e4 Reviewed-on: https://go-review.googlesource.com/c/go/+/499035 Run-TryBot: Quim Muntal <quimmuntal@gmail.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Bryan Mills <bcmills@google.com>
This commit is contained in:
parent
7ad92e95b5
commit
c99fee0545
|
|
@ -585,8 +585,8 @@ func Rename(oldpath, newpath string) (err error) {
|
|||
}
|
||||
|
||||
func ComputerName() (name string, err error) {
|
||||
b := make([]uint16, MAX_COMPUTERNAME_LENGTH+1)
|
||||
var n uint32
|
||||
var n uint32 = MAX_COMPUTERNAME_LENGTH + 1
|
||||
b := make([]uint16, n)
|
||||
e := GetComputerName(&b[0], &n)
|
||||
if e != nil {
|
||||
return "", e
|
||||
|
|
|
|||
|
|
@ -37,6 +37,16 @@ func TestOpen_Dir(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestComputerName(t *testing.T) {
|
||||
name, err := syscall.ComputerName()
|
||||
if err != nil {
|
||||
t.Fatalf("ComputerName failed: %v", err)
|
||||
}
|
||||
if len(name) == 0 {
|
||||
t.Error("ComputerName returned empty string")
|
||||
}
|
||||
}
|
||||
|
||||
func TestWin32finddata(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue