Something went wrong. Try again.
🌱 A minimal programming language and compiler. git.urbach.dev/cli/q
high-performance programming-language compiler
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344import cimport ioreadFile(path string) -> (!string, error) { cpath := c.string(path) fd, err := openRead(cpath.ptr) delete(cpath) if err != 0 { return "", err } fileSize, err := size(fd) if err != 0 { close(fd) return "", err } if fileSize == 0 { close(fd) return "", -1 } buffer := new(byte, fileSize) pos := 0 loop { assert pos < buffer.len n, err := io.readFrom(fd, buffer[pos..]) if err != 0 { close(fd) return "", err } pos += n if pos == buffer.len { close(fd) return buffer, 0 } }}