Commit graph

1 commit

Author SHA1 Message Date
IndAlok
666d0ba8a0
Implement unified API for describing addresses (name+offset format) (#5571)
* core: Add unified API for describing addresses (resolves rizinorg#4993)
* core: Fix pxW and prompt tests by adding backward-compatible delta limit

This commit fixes the test failures caused by behavioral changes in the
unified address description API:

1. pxW tests failing (cmd_pxw, helloworld-gcc-elf):
   - The old pxW code had a hardcoded 8192 limit for flag delta
   - Added max_flag_delta option to RzAddrDescribeOptions
   - rz_core_addr_get_flag_offset() now uses max_flag_delta=-1 (8192 limit)

2. prompt settings test failing (test/db/tools/rz):
   - The old prompt code used spaces around +/- (e.g., 'entry0 + 1')
   - Added use_spaces_around_delta option to RzAddrDescribeOptions
   - Added rz_core_addr_get_flag_offset_prompt() for prompt display

* core/caddr: Add proper error handling and API improvements

- Add RZ_NONNULL annotations to helper function parameters
- Add null pointer checks after rz_str_dup() to detect allocation failures
- Change helper functions to return bool for error propagation
- Handle memory allocation failures in rz_core_addr_describe() by
  checking helper return values and cleaning up on failure
- Use RZ_STR_ISEMPTY macro for consistent empty string checks
- Extract rz_core_addr_description_to_pj() as separate API for
  converting RzAddrDescription to JSON format

* core: Add unified API for describing addresses (resolves rizinorg#4993)
 core: Fix pxW and prompt tests by adding backward-compatible delta limit

This commit fixes the test failures caused by behavioral changes in the
unified address description API:

1. pxW tests failing (cmd_pxw, helloworld-gcc-elf):
   - The old pxW code had a hardcoded 8192 limit for flag delta
   - Added max_flag_delta option to RzAddrDescribeOptions
   - rz_core_addr_get_flag_offset() now uses max_flag_delta=-1 (8192 limit)

2. prompt settings test failing (test/db/tools/rz):
   - The old prompt code used spaces around +/- (e.g., 'entry0 + 1')
   - Added use_spaces_around_delta option to RzAddrDescribeOptions
   - Added rz_core_addr_get_flag_offset_prompt() for prompt display
2025-12-10 19:11:31 +08:00