code wiki / (root) / nx_bills_entry.nx

nx_bills_entry.nx

buildroot/runtime/nx_bills_entry.nx

2696 B50 linesdepth 5pulls 7 transitivereach 5 importersview sourcekind librarytopic bills
docsdependenciesstructsconstsfunctions

about

nx_bills_entry.nx -- the BILL-ENTRY data path: turns a person's submitted bill form (a urlencoded POST body from the zero-JS "add a bill" form behind the opaque wall) into a stored bill (bs_add), so the situation dashboard runs on the person's REAL recurring bills instead of representative ones. Reuses the existing nx_http_form_get_field parser (DRY -- same one intake + the login route use), with the proven NUL-terminate-at-length fix so a reused scratch buffer never bleeds digits between fields. Money fields are entered in whole dollars and stored in cents (the engines are no-float cents). No hardware writes. license_tier: ORIGINAL

dependencies 4 imports · 2 importers

nx_syscalls.nx nx_http_form.nx nx_bills_store.nx nx_bills.nx nx_bills_entry.nx nx_bills_entry_gate.nx nx_opaque_login_routes.nx

imports: nx_syscalls.nxnx_http_form.nxnx_bills_store.nxnx_bills.nx

imported by: nx_bills_entry_gate.nxnx_opaque_login_routes.nx

structs

none

consts

none

functions

13func be_len(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: be_field
16func be_atoi(s: *u8) -> i64
called by 1: be_field
28func be_field(body: *u8, body_n: i64, name: *u8, scratch: *u8, scratch_cap: i64) -> i64
40func be_record(prefix: *u8, respondent: *u8, body: *u8, body_n: i64) -> i64