code wiki / (root) / nx_capture_append_gate.nx

nx_capture_append_gate.nx source

↩ module page · 15 lines · 794 B

1import "nx_capture_append_lib.nx" 2func main(argc: i64,argv: *i64) -> i64 { 3 if argc<2 { return 1 } 4 let prefix: *u8=argv[1] as *u8 5 let id: *u8="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" 6 let fp: *u8="bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb" 7 let changed: *u8="cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" 8 let row: *u8="capture-one\tframes" 9 let first: i64=ca_append_once(prefix,id,fp,row,18) 10 if first<0 { sys_write(1,"FIRST FAIL\n" as *u8,11); return 1 } 11 if ca_append_once(prefix,id,fp,row,18)!=0 { sys_write(1,"RETRY FAIL\n" as *u8,11); return 1 } 12 if ca_append_once(prefix,id,changed,row,18)!=CA_CONFLICT { sys_write(1,"CONFLICT FAIL\n" as *u8,14); return 1 } 13 sys_write(1,"CAPTURE ONCE PASS\n" as *u8,18) 14 return 0 15}