q/lib/fs/fs.q

27 lines
376 B
Plaintext

import mem
import sys
readFile(path []byte) -> (*byte, int) {
stat := new(sys.file_stat)
if sys.stat(path, stat) < 0 {
return 0, 0
}
size := stat.st_size
if size < 512 {
size = 512
}
file := sys.open(path, 0, 0)
if file < 0 {
return 0, 0
}
contents := mem.alloc(size)
length := sys.read(file, contents, size)
sys.close(file)
return contents, length
}