github.com/tinygo-org/tinygo@v0.31.3-0.20240404173401-90b0bf646c27/src/syscall/file_hosted.go (about) 1 //go:build !(baremetal || (wasm && !wasip1) || wasm_unknown) 2 3 // This file assumes there is a libc available that runs on a real operating 4 // system. 5 6 package syscall 7 8 const pathMax = 1024 9 10 func Getwd() (string, error) { 11 var buf [pathMax]byte 12 s := libc_getcwd(&buf[0], uint(len(buf))) 13 if s == nil { 14 return "", getErrno() 15 } 16 n := clen(buf[:]) 17 if n < 1 { 18 return "", EINVAL 19 } 20 return string(buf[:n]), nil 21 } 22 23 // char *getcwd(char *buf, size_t size) 24 // 25 //export getcwd 26 func libc_getcwd(buf *byte, size uint) *byte