code wiki / (root) / nx_cat.nx

nx_cat.nx source

↩ module page · 13 lines · 593 B

1// nx_cat.nx -- sovereign file print (retires cat / Get-Content). Reads <path> and writes it to stdout. Usage: 2// nx_cat <path>. license_tier: ORIGINAL 3import "nx_syscalls.nx" 4 5func main(argc: i64, argv: *i64) -> i64 { 6 if argc < 2 { sys_write(1, "usage: nx_cat <path>\n" as *u8, 20); sys_exit(2); return 2 } 7 let path: *u8 = argv[1] as *u8 8 let box: *i64 = sys_mmap(16) as *i64 9 let buf: *u8 = sys_read_file(path, box) 10 if buf == (0 as *u8) { sys_write(1, "nx_cat: cannot read\n" as *u8, 20); sys_exit(1); return 1 } 11 sys_write(1, buf, box[0]) 12 sys_exit(0); return 0 13}