Replaced cULong/cLong with C.size_t/C.ptrdiff_t

This commit is contained in:
Quentin Renard
2024-03-29 09:05:21 +01:00
parent 443a5f5207
commit deecc33c50
12 changed files with 66 additions and 35 deletions

View File

@@ -21,18 +21,18 @@ func stringFromC(len int, fn func(buf *C.char, size C.size_t) error) (string, er
return C.GoString(buf), nil
}
func bytesFromC(fn func(size *cUlong) *C.uint8_t) []byte {
func bytesFromC(fn func(size *C.size_t) *C.uint8_t) []byte {
var size uint64
r := fn((*cUlong)(unsafe.Pointer(&size)))
r := fn((*C.size_t)(unsafe.Pointer(&size)))
return C.GoBytes(unsafe.Pointer(r), C.int(size))
}
func bytesToC(b []byte, fn func(b *C.uint8_t, size cUlong) error) error {
func bytesToC(b []byte, fn func(b *C.uint8_t, size C.size_t) error) error {
var ptr *C.uint8_t
if b != nil {
c := make([]byte, len(b))
copy(c, b)
ptr = (*C.uint8_t)(unsafe.Pointer(&c[0]))
}
return fn(ptr, cUlong(len(b)))
return fn(ptr, C.size_t(len(b)))
}