mirror of
https://github.com/logicog/RTLPlayground.git
synced 2026-09-02 15:02:51 +08:00
cfg_pos, cfg_hdr, cfg_body, cfg_end, cfg_last and cfg_bl are used only by config_take(), so move them out of file scope and into the function. The five cursors stay static: SDCC register-caches automatic xdata locals and spills them through DSEG slots, which costs 6 bytes of direct RAM this build has no room for; static keeps the access pattern of the old globals and the memory layout is unchanged. cfg_bl produces no spill slot at the current register pressure, so it is a plain local. The mechanism is recorded in issue #386. handle_post() reused cfg_pos and cfg_end as scratch for unrelated values; those uses get their own named locals, frag_len and payload_start.