code wiki / _hdl_build / _pe_chwalk2.nx

_pe_chwalk2.nx source

↩ module page · 27 lines · 919 B

1// AUTHORED BY THE NISHI BUILDER (pattern: STRUCT_WALK v2 magic/tailrest) -- field-table walk, no Claude logic 2import "nx_syscalls.nx" 3func _pe_chwalk2_locate(b: *u8, n: i64, out: *i64) -> i64 { 4 var off: i64 = 0 5 off = off + 4 6 if off > n { return 0 - 1 } 7 off = off + 2 8 if off > n { return 0 - 1 } 9 off = off + 32 10 if off > n { return 0 - 1 } 11 if off + 1 > n { return 0 - 1 } 12 off = off + 1 + (b[off] & 0xff) 13 if off > n { return 0 - 1 } 14 if off + 2 > n { return 0 - 1 } 15 off = off + 2 + (((b[off] & 0xff) << 8) | (b[off + 1] & 0xff)) 16 if off > n { return 0 - 1 } 17 if off + 1 > n { return 0 - 1 } 18 off = off + 1 + (b[off] & 0xff) 19 if off > n { return 0 - 1 } 20 if off + 2 > n { return 0 - 1 } 21 let tl: i64 = ((b[off] & 0xff) << 8) | (b[off + 1] & 0xff) 22 if off + 2 + tl > n { return 0 - 1 } 23 out[0] = off + 2 24 out[1] = tl 25 return 0 26 return 0 - 1 27}