Update the comment - there's no way to create a new pointer to struct

libusb_device, since the struct is not defined in libusb headers (only
name is declared), as such the compiler doesn't know the size of the
struct to allocate.
This commit is contained in:
Sebastian Zagrodzki
2017-03-26 17:44:25 +02:00
parent fc41761879
commit 1f977a94aa

View File

@@ -289,7 +289,10 @@ func newFakeLibusb() *fakeLibusb {
claims: make(map[*libusbDevice]map[uint8]bool), claims: make(map[*libusbDevice]map[uint8]bool),
} }
for i, d := range fakeDevices { for i, d := range fakeDevices {
// TODO(https://golang.org/issue/19487): use new(libusbDevice) after Go 1.9 // libusb does not export a way to allocate a new libusb_device struct
// without using the full USB stack. Since the fake library uses the
// libusbDevice only as an identifier, use arbitrary numbers pretending
// to be pointers. The contents of these pointers is never accessed.
fl.fakeDevices[(*libusbDevice)(unsafe.Pointer(uintptr(i)))] = &fakeDevice{ fl.fakeDevices[(*libusbDevice)(unsafe.Pointer(uintptr(i)))] = &fakeDevice{
desc: d, desc: d,
alt: 0, alt: 0,