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}