mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
vlib: add unsafe{} wrappers to C. fn calls, to allow compiling with -prod again
This commit is contained in:
@ -20,7 +20,7 @@ fn htonl64(payload_len u64) byteptr {
|
||||
fn create_masking_key() []byte {
|
||||
mask_bit := byte(rand.intn(255))
|
||||
buf := [`0`].repeat(4)
|
||||
C.memcpy(buf.data, &mask_bit, 4)
|
||||
unsafe { C.memcpy(buf.data, &mask_bit, 4) }
|
||||
return buf
|
||||
}
|
||||
|
||||
|
@ -430,7 +430,7 @@ pub fn (mut ws Client) read() int {
|
||||
if payload == 0 {
|
||||
l.f('out of memory')
|
||||
}
|
||||
C.memcpy(payload, &data[header_len], payload_len)
|
||||
unsafe { C.memcpy(payload, &data[header_len], payload_len) }
|
||||
if frame.fin {
|
||||
if ws.fragments.len > 0 {
|
||||
// join fragments
|
||||
@ -522,7 +522,7 @@ pub fn (mut ws Client) read() int {
|
||||
mut payload := []byte{}
|
||||
if payload_len > 0 {
|
||||
payload = [`0`].repeat(int(payload_len))
|
||||
C.memcpy(payload.data, &data[header_len], payload_len)
|
||||
unsafe { C.memcpy(payload.data, &data[header_len], payload_len) }
|
||||
}
|
||||
unsafe {
|
||||
free(data)
|
||||
@ -601,7 +601,7 @@ fn (mut ws Client) send_control_frame(code OPCode, frame_typ string, payload []b
|
||||
if code == .close {
|
||||
if payload.len > 2 {
|
||||
mut parsed_payload := [`0`].repeat(payload.len + 1)
|
||||
C.memcpy(parsed_payload.data, &payload[0], payload.len)
|
||||
unsafe { C.memcpy(parsed_payload.data, &payload[0], payload.len) }
|
||||
parsed_payload[payload.len] = `\0`
|
||||
for i in 0 .. payload.len {
|
||||
control_frame[6 + i] = (parsed_payload[i] ^ masking_key[i % 4]) & 0xff
|
||||
|
Reference in New Issue
Block a user