1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

builtin: add voidptr.vbytes(len) and byteptr.vbytes(len)

This commit is contained in:
Delyan Angelov
2020-11-27 18:18:46 +02:00
parent 2473f65278
commit 1891f55c72
2 changed files with 54 additions and 2 deletions

View File

@ -720,3 +720,21 @@ pub fn (a array) pointers() []voidptr {
}
return res
}
// voidptr.vbytes() - makes a V []byte structure from a C style memory buffer. NB: the data is reused, NOT copied!
[unsafe]
pub fn (data voidptr) vbytes(len int) []byte {
res := array{
element_size: 1
data: data
len: len
cap: len
}
return res
}
// byteptr.vbytes() - makes a V []byte structure from a C style memory buffer. NB: the data is reused, NOT copied!
[unsafe]
pub fn (data byteptr) vbytes(len int) []byte {
return unsafe {voidptr(data).vbytes(len)}
}