mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-02 23:27:31 -04:00
windows/registry: make '-gcflags=all=-d=checkptr' flag work
Mostly replaced [:x] slice operation with [:x:x]. This change is copy of CL 203442. Updates golang/go#34972 Change-Id: I9b725a39aea469bd5669cc1deb3d02a88912843e Reviewed-on: https://go-review.googlesource.com/c/sys/+/204017 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
195ce5e7f9
commit
f43be2a459
@@ -108,7 +108,7 @@ func (k Key) GetStringValue(name string) (val string, valtype uint32, err error)
|
|||||||
if len(data) == 0 {
|
if len(data) == 0 {
|
||||||
return "", typ, nil
|
return "", typ, nil
|
||||||
}
|
}
|
||||||
u := (*[1 << 29]uint16)(unsafe.Pointer(&data[0]))[:len(data)/2]
|
u := (*[1 << 29]uint16)(unsafe.Pointer(&data[0]))[: len(data)/2 : len(data)/2]
|
||||||
return syscall.UTF16ToString(u), typ, nil
|
return syscall.UTF16ToString(u), typ, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,8 +185,7 @@ func ExpandString(value string) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
if n <= uint32(len(r)) {
|
if n <= uint32(len(r)) {
|
||||||
u := (*[1 << 29]uint16)(unsafe.Pointer(&r[0]))[:]
|
return syscall.UTF16ToString(r[:n]), nil
|
||||||
return syscall.UTF16ToString(u), nil
|
|
||||||
}
|
}
|
||||||
r = make([]uint16, n)
|
r = make([]uint16, n)
|
||||||
}
|
}
|
||||||
@@ -208,7 +207,7 @@ func (k Key) GetStringsValue(name string) (val []string, valtype uint32, err err
|
|||||||
if len(data) == 0 {
|
if len(data) == 0 {
|
||||||
return nil, typ, nil
|
return nil, typ, nil
|
||||||
}
|
}
|
||||||
p := (*[1 << 29]uint16)(unsafe.Pointer(&data[0]))[:len(data)/2]
|
p := (*[1 << 29]uint16)(unsafe.Pointer(&data[0]))[: len(data)/2 : len(data)/2]
|
||||||
if len(p) == 0 {
|
if len(p) == 0 {
|
||||||
return nil, typ, nil
|
return nil, typ, nil
|
||||||
}
|
}
|
||||||
@@ -299,7 +298,7 @@ func (k Key) setStringValue(name string, valtype uint32, value string) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
buf := (*[1 << 29]byte)(unsafe.Pointer(&v[0]))[:len(v)*2]
|
buf := (*[1 << 29]byte)(unsafe.Pointer(&v[0]))[: len(v)*2 : len(v)*2]
|
||||||
return k.setValue(name, valtype, buf)
|
return k.setValue(name, valtype, buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,7 +328,7 @@ func (k Key) SetStringsValue(name string, value []string) error {
|
|||||||
ss += s + "\x00"
|
ss += s + "\x00"
|
||||||
}
|
}
|
||||||
v := utf16.Encode([]rune(ss + "\x00"))
|
v := utf16.Encode([]rune(ss + "\x00"))
|
||||||
buf := (*[1 << 29]byte)(unsafe.Pointer(&v[0]))[:len(v)*2]
|
buf := (*[1 << 29]byte)(unsafe.Pointer(&v[0]))[: len(v)*2 : len(v)*2]
|
||||||
return k.setValue(name, MULTI_SZ, buf)
|
return k.setValue(name, MULTI_SZ, buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user