drop even more libc functions

This commit is contained in:
2025-11-22 18:41:35 +01:00
parent ce54d1b560
commit 06c979f177
8 changed files with 58 additions and 30 deletions

View File

@@ -22,7 +22,7 @@ func main[] : I64
else if op == '.'
io.print_char(memory[p])
else if op == ','
str.set(memory, p, c.getchar())
str.set(memory, p, io.read_char())
else if op == '['
if !memory[p]
i = i + 1

View File

@@ -27,9 +27,13 @@ func main[argc: I64, argv: Ptr] : I64
if s < 0
dbg.panic("failed to connect")
let req: String = mem.alloc(2048)
c.snprintf(req, 2048, "GET %s HTTP/1.0\r\nHost: %s\r\nConnection: close\r\n\r\n", path, host)
c.send(s, req, str.len(req), 0)
// very leaky
let req: String = "GET "
req = str.concat(req, path)
req = str.concat(req, " HTTP/1.0\r\nHost: ")
req = str.concat(req, host)
req = str.concat(req, "\r\nConnection: close\r\n\r\n")
net.send(s, req, str.len(req))
mem.free(req)
let header_buf: String = mem.alloc(8192)
@@ -38,7 +42,7 @@ func main[argc: I64, argv: Ptr] : I64
let end_index: I64 = -1
while !found & header_size < 8192
let n: I64 = c.read(s, header_buf + header_size, 8192 - header_size)
let n: I64 = net.read(s, header_buf + header_size, 8192 - header_size)
if n <= 0
break
let current_size: I64 = header_size + n
@@ -52,15 +56,15 @@ func main[argc: I64, argv: Ptr] : I64
header_size = current_size
if end_index < header_size
c.write(1, header_buf + end_index, header_size - end_index)
io.print_sized(header_buf + end_index, header_size - end_index)
mem.free(header_buf)
let buffer: Ptr = mem.alloc(4096)
while true
let n: I64 = c.read(s, buffer, 4096)
let n: I64 = net.read(s, buffer, 4096)
if n <= 0
break
c.write(1, buffer, n)
io.print_sized(buffer, n)
mem.free(buffer)
c.close(s)
net.close(s)

View File

@@ -1,5 +1,5 @@
func main[] : I64
let answer: I64 = math.abs(math.urandom()) % 100
let answer: I64 = math.abs(os.urandom()) % 100
while true
io.println("Guess a number: ")

View File

@@ -1,7 +1,7 @@
func main[] : I64
let arr: Array = []
for i in 0..10
array.push(arr, math.abs(math.urandom() % 1000))
array.push(arr, math.abs(os.urandom() % 1000))
for i in 0..array.size(arr)
io.println_i64(array.nth(arr, i))

View File

@@ -3,10 +3,10 @@ func main[] : I64
let resp: String = mem.alloc(60000)
while true
let conn: I64 = c.accept(s, 0, 0)
let conn: I64 = net.accept(s)
if conn < 0
continue
let n: I64 = c.read(conn, resp, 60000)
c.send(conn, resp, n, 0)
c.close(conn)
let n: I64 = net.read(conn, resp, 60000)
net.send(conn, resp, n)
net.close(conn)