idasql v0.0.18
New
runtime_settings— read-only view of the effectivePRAGMA idasql.*runtime controls.type_gaps— free byte ranges in a struct (where a new field can be inserted).struct_member_xrefs— cross-references to a struct/union member.- Writable
member_type(INSERT + UPDATE) — in-place member retype on structs and unions. - Optional auth token for the HTTP/REPL server;
?format=text|csv|tsvoutput on the CLI HTTP/query.
Fixed
- INSERT honors an explicit
offset/offset_bits, with a bit-accurate overlap check — an overlapping insert is rejected, never silently appended. (#47) - DELETE is non-collapsing — it leaves a gap and preserves the following members' offsets (like IDA's Undefine); to compact/repack, toggle
is_fixed1→0. (#48) - Member retype applies and reads back on structs and unions; successful edits no longer report a spurious "failed to save". (#44, #45)
- Array local-variable retyping works (
UPDATE ctree_lvars SET type='T[N]'), including multidimensional, pointer-to-array, and named-type element forms. (#52) callee_typeon a direct call preserves the real callee symbol, so re-decompiling the caller no longer aborts with INTERR 50782. (#53)- More accurate call/block metadata; collision-safe row identifiers.
Thanks to @shrddr and @rcaragea for the reports — this release closes #44, #45, #47, #48, #52, #53.