mirror of
https://github.com/vlang/v.git
synced 2025-09-15 07:22:27 +03:00
flag,json,net: handle C calls in .v files (part of enabling -W impure-v
as default) (#19779)
This commit is contained in:
parent
1e25d45243
commit
01022e918e
21 changed files with 50 additions and 50 deletions
|
@ -264,11 +264,11 @@ pub fn (mut ws Client) write_ptr(bytes &u8, payload_len int, code OPCode) !int {
|
|||
} else if payload_len > 125 && payload_len <= 0xffff {
|
||||
len16 := conv.hton16(u16(payload_len))
|
||||
header[1] = 126
|
||||
unsafe { C.memcpy(&header[2], &len16, 2) }
|
||||
unsafe { vmemcpy(&header[2], &len16, 2) }
|
||||
} else if payload_len > 0xffff && payload_len <= 0x7fffffff {
|
||||
len_bytes := htonl64(u64(payload_len))
|
||||
header[1] = 127
|
||||
unsafe { C.memcpy(&header[2], len_bytes.data, 8) }
|
||||
unsafe { vmemcpy(&header[2], len_bytes.data, 8) }
|
||||
}
|
||||
} else {
|
||||
if payload_len <= 125 {
|
||||
|
@ -280,7 +280,7 @@ pub fn (mut ws Client) write_ptr(bytes &u8, payload_len int, code OPCode) !int {
|
|||
} else if payload_len > 125 && payload_len <= 0xffff {
|
||||
len16 := conv.hton16(u16(payload_len))
|
||||
header[1] = (126 | 0x80)
|
||||
unsafe { C.memcpy(&header[2], &len16, 2) }
|
||||
unsafe { vmemcpy(&header[2], &len16, 2) }
|
||||
header[4] = masking_key[0]
|
||||
header[5] = masking_key[1]
|
||||
header[6] = masking_key[2]
|
||||
|
@ -288,7 +288,7 @@ pub fn (mut ws Client) write_ptr(bytes &u8, payload_len int, code OPCode) !int {
|
|||
} else if payload_len > 0xffff && payload_len <= 0x7fffffff {
|
||||
len64 := htonl64(u64(payload_len))
|
||||
header[1] = (127 | 0x80)
|
||||
unsafe { C.memcpy(&header[2], len64.data, 8) }
|
||||
unsafe { vmemcpy(&header[2], len64.data, 8) }
|
||||
header[10] = masking_key[0]
|
||||
header[11] = masking_key[1]
|
||||
header[12] = masking_key[2]
|
||||
|
@ -301,9 +301,9 @@ pub fn (mut ws Client) write_ptr(bytes &u8, payload_len int, code OPCode) !int {
|
|||
len := header.len + payload_len
|
||||
mut frame_buf := []u8{len: len}
|
||||
unsafe {
|
||||
C.memcpy(&frame_buf[0], &u8(header.data), header.len)
|
||||
vmemcpy(&frame_buf[0], &u8(header.data), header.len)
|
||||
if payload_len > 0 {
|
||||
C.memcpy(&frame_buf[header.len], bytes, payload_len)
|
||||
vmemcpy(&frame_buf[header.len], bytes, payload_len)
|
||||
}
|
||||
}
|
||||
if !ws.is_server {
|
||||
|
@ -396,14 +396,14 @@ fn (mut ws Client) send_control_frame(code OPCode, frame_typ string, payload []u
|
|||
if payload.len >= 2 {
|
||||
if !ws.is_server {
|
||||
mut parsed_payload := []u8{len: payload.len + 1}
|
||||
unsafe { C.memcpy(parsed_payload.data, &payload[0], payload.len) }
|
||||
unsafe { vmemcpy(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
|
||||
}
|
||||
unsafe { parsed_payload.free() }
|
||||
} else {
|
||||
unsafe { C.memcpy(&control_frame[2], &payload[0], payload.len) }
|
||||
unsafe { vmemcpy(&control_frame[2], &payload[0], payload.len) }
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -415,7 +415,7 @@ fn (mut ws Client) send_control_frame(code OPCode, frame_typ string, payload []u
|
|||
}
|
||||
} else {
|
||||
if payload.len > 0 {
|
||||
unsafe { C.memcpy(&control_frame[2], &payload[0], payload.len) }
|
||||
unsafe { vmemcpy(&control_frame[2], &payload[0], payload.len) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue