Use or_break and or_continue where appropriate in the core library

This commit is contained in:
gingerBill
2023-09-30 15:34:39 +01:00
parent 41a22bd83d
commit 14adcb9db8
14 changed files with 92 additions and 142 deletions
+17 -29
View File
@@ -247,23 +247,19 @@ get_dns_records_from_nameservers :: proc(hostname: string, type: DNS_Record_Type
}
defer close(conn)
_, send_err := send(conn, dns_packet[:], name_server)
if send_err != nil {
continue
}
_ = send(conn, dns_packet[:], name_server) or_continue
set_err := set_option(conn, .Receive_Timeout, time.Second * 1)
if set_err != nil {
if set_option(conn, .Receive_Timeout, time.Second * 1) != nil {
return nil, .Connection_Error
}
recv_sz, _, recv_err := recv_udp(conn, dns_response_buf[:])
if recv_err == UDP_Recv_Error.Timeout {
continue
} else if recv_err != nil {
continue
}
// recv_sz, _, recv_err := recv_udp(conn, dns_response_buf[:])
// if recv_err == UDP_Recv_Error.Timeout {
// continue
// } else if recv_err != nil {
// continue
// }
recv_sz, _ := recv_udp(conn, dns_response_buf[:]) or_continue
if recv_sz == 0 {
continue
}
@@ -429,11 +425,9 @@ load_hosts :: proc(hosts_file_path: string, allocator := context.allocator) -> (
}
for hostname in splits[1:] {
if len(hostname) == 0 {
continue
if len(hostname) != 0 {
append(&_hosts, DNS_Host_Entry{hostname, addr})
}
append(&_hosts, DNS_Host_Entry{hostname, addr})
}
}
@@ -833,11 +827,9 @@ parse_response :: proc(response: []u8, filter: DNS_Record_Type = nil, allocator
}
rec := parse_record(response, &cur_idx, filter) or_return
if rec == nil {
continue
if rec != nil {
append(&_records, rec)
}
append(&_records, rec)
}
for _ in 0..<authority_count {
@@ -846,11 +838,9 @@ parse_response :: proc(response: []u8, filter: DNS_Record_Type = nil, allocator
}
rec := parse_record(response, &cur_idx, filter) or_return
if rec == nil {
continue
if rec != nil {
append(&_records, rec)
}
append(&_records, rec)
}
for _ in 0..<additional_count {
@@ -859,11 +849,9 @@ parse_response :: proc(response: []u8, filter: DNS_Record_Type = nil, allocator
}
rec := parse_record(response, &cur_idx, filter) or_return
if rec == nil {
continue
if rec != nil {
append(&_records, rec)
}
append(&_records, rec)
}
return _records[:], true
+10 -3
View File
@@ -45,15 +45,22 @@ _get_dns_records_os :: proc(hostname: string, type: DNS_Record_Type, allocator :
count := 0
for r := rec; r != nil; r = r.pNext {
if r.wType != u16(type) do continue // NOTE(tetra): Should never happen, but...
if r.wType != u16(type) {
// NOTE(tetra): Should never happen, but...
continue
}
count += 1
}
recs := make([dynamic]DNS_Record, 0, count)
if recs == nil do return nil, .System_Error // return no results if OOM.
if recs == nil {
return nil, .System_Error // return no results if OOM.
}
for r := rec; r != nil; r = r.pNext {
if r.wType != u16(type) do continue // NOTE(tetra): Should never happen, but...
if r.wType != u16(type) {
continue // NOTE(tetra): Should never happen, but...
}
base_record := DNS_Record_Base{
record_name = strings.clone(string(r.pName)),