net: byte fixes

master
Alexander Medvednikov 2022-04-15 15:55:39 +03:00
parent fb192d949b
commit af73e195da
18 changed files with 54 additions and 65 deletions

View File

@ -92,13 +92,13 @@ fn (mut p Player) free() {
// > MUST be placed before the Sound data chunk (but not necessarily
// > contiguous to the Sound data chunk).
struct RIFFHeader {
riff [4]byte
riff [4]u8
file_size u32
form_type [4]byte
form_type [4]u8
}
struct RIFFChunkHeader {
chunk_type [4]byte
chunk_type [4]u8
chunk_size u32
chunk_data voidptr
}
@ -113,7 +113,7 @@ struct RIFFFormat {
cbsize u16 // Size of the extension: 22
valid_bits_per_sample u16 // at most 8*M
channel_mask u32 // Speaker position mask
sub_format [16]byte // GUID
sub_format [16]u8 // GUID
}
fn read_wav_file_samples(fpath string) ?[]f32 {

View File

@ -133,7 +133,7 @@ pub fn i64_str(n0 i64, base int) string {
}
pub fn ptr_str(ptr voidptr) string {
buf := [16]byte{}
buf := [16]u8{}
hex := i64_tos(buf, 15, i64(ptr), 16)
res := '0x' + hex
return res

View File

@ -71,13 +71,6 @@ fn decode_i64(root &C.cJSON) i64 {
return i64(root.valuedouble) // i64 is double in C
}
fn decode_u8(root &C.cJSON) byte {
if isnil(root) {
return u8(0)
}
return u8(root.valueint)
}
fn decode_u8(root &C.cJSON) u8 {
if isnil(root) {
return u8(0)
@ -168,10 +161,6 @@ fn encode_i64(val i64) &C.cJSON {
return C.cJSON_CreateNumber(val)
}
fn encode_u8(val byte) &C.cJSON {
return C.cJSON_CreateNumber(val)
}
fn encode_u8(val u8) &C.cJSON {
return C.cJSON_CreateNumber(val)
}

View File

@ -10,13 +10,13 @@ union AddrData {
}
const (
addr_ip6_any = [16]byte{init: u8(0)}
addr_ip_any = [4]byte{init: u8(0)}
addr_ip6_any = [16]u8{init: u8(0)}
addr_ip_any = [4]u8{init: u8(0)}
)
fn new_ip6(port u16, addr [16]byte) Addr {
fn new_ip6(port u16, addr [16]u8) Addr {
a := Addr{
f: u16(AddrFamily.ip6)
f: u8(AddrFamily.ip6)
addr: AddrData{
Ip6: Ip6{
port: u16(C.htons(port))
@ -29,9 +29,9 @@ fn new_ip6(port u16, addr [16]byte) Addr {
return a
}
fn new_ip(port u16, addr [4]byte) Addr {
fn new_ip(port u16, addr [4]u8) Addr {
a := Addr{
f: u16(AddrFamily.ip)
f: u8(AddrFamily.ip)
addr: AddrData{
Ip: Ip{
port: u16(C.htons(port))
@ -133,7 +133,7 @@ pub fn resolve_addrs(addr string, family AddrFamily, @type SocketType) ?[]Addr {
return [
Addr{
f: u16(AddrFamily.unix)
f: u8(AddrFamily.unix)
addr: AddrData{
Unix: resolved
}

View File

@ -38,20 +38,20 @@ mut:
struct Ip6 {
port u16
flow_info u32
addr [16]byte
addr [16]u8
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
addr [4]u8
// Pad to size so that socket functions
// dont complain to us (see in.h and bind())
// TODO(emily): I would really like to use
// some constant calculations here
// so that this doesnt have to be hardcoded
sin_pad [8]byte
sin_pad [8]u8
}
struct Unix {

View File

@ -21,7 +21,7 @@ mut:
sin6_family byte // 1
sin6_port u16 // 2
sin6_flowinfo u32 // 4
sin6_addr [16]byte // 16
sin6_addr [16]u8 // 16
sin6_scope_id u32 // 4
}
@ -45,20 +45,20 @@ mut:
struct Ip6 {
port u16
flow_info u32
addr [16]byte
addr [16]u8
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
addr [4]u8
// Pad to size so that socket functions
// dont complain to us (see in.h and bind())
// TODO(emily): I would really like to use
// some constant calculations here
// so that this doesnt have to be hardcoded
sin_pad [8]byte
sin_pad [8]u8
}
struct Unix {

View File

@ -26,7 +26,7 @@ mut:
sin6_family byte // 1
sin6_port u16 // 2
sin6_flowinfo u32 // 4
sin6_addr [16]byte // 16
sin6_addr [16]u8 // 16
sin6_scope_id u32 // 4
}
@ -50,20 +50,20 @@ mut:
struct Ip6 {
port u16
flow_info u32
addr [16]byte
addr [16]u8
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
addr [4]u8
// Pad to size so that socket functions
// dont complain to us (see in.h and bind())
// TODO(emily): I would really like to use
// some constant calculations here
// so that this doesnt have to be hardcoded
sin_pad [8]byte
sin_pad [8]u8
}
struct Unix {

View File

@ -24,7 +24,7 @@ mut:
sin6_family byte // 1
sin6_port u16 // 2
sin6_flowinfo u32 // 4
sin6_addr [16]byte // 16
sin6_addr [16]u8 // 16
sin6_scope_id u32 // 4
}
@ -48,20 +48,20 @@ mut:
struct Ip6 {
port u16
flow_info u32
addr [16]byte
addr [16]u8
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
addr [4]u8
// Pad to size so that socket functions
// dont complain to us (see in.h and bind())
// TODO(emily): I would really like to use
// some constant calculations here
// so that this doesnt have to be hardcoded
sin_pad [8]byte
sin_pad [8]u8
}
struct Unix {

View File

@ -38,20 +38,20 @@ mut:
struct Ip6 {
port u16
flow_info u32
addr [16]byte
addr [16]u8
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
addr [4]u8
// Pad to size so that socket functions
// dont complain to us (see in.h and bind())
// TODO(emily): I would really like to use
// some constant calculations here
// so that this doesnt have to be hardcoded
sin_pad [8]byte
sin_pad [8]u8
}
struct Unix {

View File

@ -26,7 +26,7 @@ mut:
sin6_family byte // 1
sin6_port u16 // 2
sin6_flowinfo u32 // 4
sin6_addr [16]byte // 16
sin6_addr [16]u8 // 16
sin6_scope_id u32 // 4
}
@ -50,20 +50,20 @@ mut:
struct Ip6 {
port u16
flow_info u32
addr [16]byte
addr [16]u8
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
addr [4]u8
// Pad to size so that socket functions
// dont complain to us (see in.h and bind())
// TODO(emily): I would really like to use
// some constant calculations here
// so that this doesnt have to be hardcoded
sin_pad [8]byte
sin_pad [8]u8
}
struct Unix {

View File

@ -24,7 +24,7 @@ mut:
sin6_family byte // 1
sin6_port u16 // 2
sin6_flowinfo u32 // 4
sin6_addr [16]byte // 16
sin6_addr [16]u8 // 16
sin6_scope_id u32 // 4
}
@ -48,20 +48,20 @@ mut:
struct Ip6 {
port u16
flow_info u32
addr [16]byte
addr [16]u8
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
addr [4]u8
// Pad to size so that socket functions
// dont complain to us (see in.h and bind())
// TODO(emily): I would really like to use
// some constant calculations here
// so that this doesnt have to be hardcoded
sin_pad [8]byte
sin_pad [8]u8
}
struct Unix {

View File

@ -38,15 +38,15 @@ mut:
struct Ip6 {
port u16
flow_info u32
addr [16]byte
addr [16]u8
scope_id u32
}
[_pack: '1']
struct Ip {
port u16
addr [4]byte
sin_pad [8]byte
addr [4]u8
sin_pad [8]u8
}
struct Unix {

View File

@ -177,7 +177,7 @@ pub fn (c &Cookie) str() string {
return b.str()
}
fn sanitize(valid fn (byte) bool, v string) string {
fn sanitize(valid fn (u8) bool, v string) string {
mut ok := true
for i in 0 .. v.len {
if valid(v[i]) {
@ -222,11 +222,11 @@ fn sanitize_cookie_path(v string) string {
return sanitize(valid_cookie_path_byte, v)
}
fn valid_cookie_value_u8(b byte) bool {
fn valid_cookie_value_byte(b u8) bool {
return 0x20 <= b && b < 0x7f && b != `"` && b != `;` && b != `\\`
}
fn valid_cookie_path_u8(b byte) bool {
fn valid_cookie_path_byte(b u8) bool {
return 0x20 <= b && b < 0x7f && b != `!`
}
@ -300,7 +300,7 @@ fn parse_cookie_value(_raw string, allow_double_quote bool) ?string {
raw = raw.substr(1, raw.len - 1)
}
for i in 0 .. raw.len {
if !valid_cookie_value_u8(raw[i]) {
if !valid_cookie_value_byte(raw[i]) {
return error('http.cookie: invalid cookie value')
}
}

View File

@ -29,7 +29,7 @@ mut:
opcode OPCode // interpretation of the payload data
has_mask bool // true if the payload data is masked
payload_len int // payload length
masking_key [4]byte // all frames from client to server is masked with this key
masking_key [4]u8 // all frames from client to server is masked with this key
}
const (

View File

@ -39,7 +39,6 @@ pub const (
pub type Primitive = InfixType
| bool
| byte
| f32
| f64
| i16
@ -51,6 +50,7 @@ pub type Primitive = InfixType
| u16
| u32
| u64
| u8
pub enum OperationKind {
neq // !=
@ -467,7 +467,7 @@ pub fn i64_to_primitive(b i64) Primitive {
return Primitive(b)
}
pub fn byte_to_primitive(b byte) Primitive {
pub fn u8_to_primitive(b u8) Primitive {
return Primitive(b)
}

View File

@ -92,10 +92,10 @@ fn pg_stmt_match(mut types []u32, mut vals []&char, mut lens []int, mut formats
lens << int(sizeof(bool))
formats << 1
}
byte {
u8 {
types << u32(Oid.t_char)
vals << &char(&(d as byte))
lens << int(sizeof(byte))
vals << &char(&(d as u8))
lens << int(sizeof(u8))
formats << 1
}
u16 {

View File

@ -1405,7 +1405,7 @@ pub fn (mut t Table) complete_interface_check() {
//
// `123 > panic()`
//
// `128 > [16]byte`
// `128 > [16]u8`
//
// `608 > [76]byte`
pub fn (mut t Table) bitsize_to_type(bit_size int) Type {

View File

@ -1,7 +1,7 @@
type Block = [8]byte
type Block = [8]u8
fn test_alias_fixed_array() {
a := [8]byte{init: 22}
a := [8]u8{init: 22}
ret := get(Block(a))
println(ret)
assert ret == 'Block([22, 22, 22, 22, 22, 22, 22, 22])'