:include "c_wrap.tnsl" :include "vector.tnsl" /; main (int argc, ~~uint argv) [int] # On windows, the first two arguments are passed in RCX and RDX, so we need to # update their positions here or else tnsl will have garbage values in r8 and r9 asm "mov r8, rcx" asm "mov r9, rdx" # If on linux, you would use rdi and rsi instead of rcx and rdx, respectively # simply comment out the bove asm, and uncomment the below lines # asm "mov r8, rdi" # asm "mov r9, rsi" Vector vec vec.start(1) uint8 a = _alert{0} vec.push(~a) vec.push(~a) a = _alert{len _alert - 2} vec.push(~a) a = 0 vec.push(~a) _printf(vec.get(0)) _printf(vec.get(0)) vec.clean() return 0 ;/