Remove rz_list_iter_get_data() (#5900)

* Remove rz_list_iter_get_data()
* Use rz_list_val() instead of rz_list_iter_get_data()
This commit is contained in:
Khairul Azhar Kasmiran 2026-02-10 22:03:37 +08:00 committed by GitHub
parent 78574a1f2d
commit 2d49628aee
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 37 additions and 44 deletions

View file

@ -529,14 +529,14 @@ RZ_API bool rz_analysis_block_recurse_depth_first(RzAnalysisBlock *block, RzAnal
cur_ctx->switch_it = rz_list_next(cur_ctx->switch_it);
}
if (cur_ctx->switch_it) {
RzAnalysisCaseOp *cop = rz_list_iter_get_data(cur_ctx->switch_it);
RzAnalysisCaseOp *cop = rz_list_val(cur_ctx->switch_it);
while (ht_up_find_kv(visited, cop->jump, NULL)) {
cur_ctx->switch_it = rz_list_next(cur_ctx->switch_it);
if (!cur_ctx->switch_it) {
cop = NULL;
break;
}
cop = rz_list_iter_get_data(cur_ctx->switch_it);
cop = rz_list_val(cur_ctx->switch_it);
}
cur_bb = cop ? rz_analysis_get_block_at(analysis, cop->jump) : NULL;
} else {

View file

@ -511,7 +511,7 @@ static void match_bin_entries(RzDyldCache *cache, void *entries) {
if (!it) {
break;
}
bin = rz_list_iter_get_data(it);
bin = rz_list_val(it);
if (!bin) {
break;
}

View file

@ -31,7 +31,7 @@ RZ_OWN RzList /*<RzBinSymbol *>*/ *PE_(rz_bin_pe_get_clr_symbols)(RzBinPEObj *bi
ut32 type_methods_end = type_methods_start;
if (type_it) {
Pe_image_metadata_typedef *typedef_ = rz_list_iter_get_data(type_it);
Pe_image_metadata_typedef *typedef_ = rz_list_val(type_it);
type_name = rz_buf_get_string(bin->clr->strings, typedef_->name);
type_namespace = rz_buf_get_string(bin->clr->strings, typedef_->namespace);
@ -40,7 +40,7 @@ RZ_OWN RzList /*<RzBinSymbol *>*/ *PE_(rz_bin_pe_get_clr_symbols)(RzBinPEObj *bi
type_it = rz_list_next(type_it);
if (type_it) {
Pe_image_metadata_typedef *itypedef_ = rz_list_iter_get_data(type_it);
Pe_image_metadata_typedef *itypedef_ = rz_list_val(type_it);
type_methods_end = itypedef_->methodlist;
}
}
@ -57,14 +57,14 @@ RZ_OWN RzList /*<RzBinSymbol *>*/ *PE_(rz_bin_pe_get_clr_symbols)(RzBinPEObj *bi
free(type_name);
free(type_namespace);
Pe_image_metadata_typedef *typedef_ = rz_list_iter_get_data(type_it);
Pe_image_metadata_typedef *typedef_ = rz_list_val(type_it);
type_name = rz_buf_get_string(bin->clr->strings, typedef_->name);
type_namespace = rz_buf_get_string(bin->clr->strings, typedef_->namespace);
// Update next end
type_it = rz_list_next(type_it);
if (type_it) {
Pe_image_metadata_typedef *next_typedef_ = rz_list_iter_get_data(type_it);
Pe_image_metadata_typedef *next_typedef_ = rz_list_val(type_it);
type_methods_end = next_typedef_->methodlist;
} else {
type_methods_end = rz_pvector_len(bin->clr->methoddefs) + 1;

View file

@ -1282,7 +1282,7 @@ static pyc_object *get_object(RzBinPycObj *pyc, RzBuffer *buffer) {
}
if (flag && ref_idx) {
void *p = rz_list_iter_get_data(ref_idx);
void *p = rz_list_val(ref_idx);
free_object(p);
p = copy_object(ret);
rz_list_iter_set_data(ref_idx, p);

View file

@ -827,7 +827,7 @@ static int dist_nodes(const RzAGraph *g, const RzGraphNode *a, const RzGraphNode
d.to = b;
it = rz_list_find(g->dists, &d, (RzListComparator)find_dist, NULL);
if (it) {
struct dist_t *old = (struct dist_t *)rz_list_iter_get_data(it);
struct dist_t *old = (struct dist_t *)rz_list_val(it);
return old->dist;
}
}
@ -850,7 +850,7 @@ static int dist_nodes(const RzAGraph *g, const RzGraphNode *a, const RzGraphNode
d.to = next;
it = rz_list_find(g->dists, &d, (RzListComparator)find_dist, NULL);
if (it) {
struct dist_t *old = (struct dist_t *)rz_list_iter_get_data(it);
struct dist_t *old = (struct dist_t *)rz_list_val(it);
res += old->dist;
found = true;
}
@ -893,7 +893,7 @@ static void set_dist_nodes(const RzAGraph *g, int l, int cur, int next) {
find_el.from = vi;
find_el.to = vip;
it = rz_list_find(g->dists, &find_el, (RzListComparator)find_dist, NULL);
d = it ? (struct dist_t *)rz_list_iter_get_data(it) : RZ_NEW0(struct dist_t);
d = it ? (struct dist_t *)rz_list_val(it) : RZ_NEW0(struct dist_t);
d->from = vi;
d->to = vip;

View file

@ -616,7 +616,8 @@ static RzCoreAsmHit *find_addr(RzList /*<RzCoreAsmHit *>*/ *hits, ut64 addr) {
RzCoreAsmHit dummy_value;
dummy_value.addr = addr;
addr_iter = rz_list_find(hits, &dummy_value, ((RzListComparator)coreasm_address_comparator), NULL);
return rz_list_iter_get_data(addr_iter);
rz_return_val_if_fail(addr_iter, NULL);
return rz_list_val(addr_iter);
}
static int handle_forward_disassemble(RzCore *core, RzList /*<RzCoreAsmHit *>*/ *hits, ut8 *buf, ut64 len, ut64 current_buf_pos, ut64 current_instr_addr, ut64 end_addr) {

View file

@ -1260,7 +1260,7 @@ static inline bool get_next_i(IterCtx *ctx, size_t *next_i) {
}
}
if (!bbit && cop_it) {
RzAnalysisCaseOp *cop = rz_list_iter_get_data(cop_it);
RzAnalysisCaseOp *cop = rz_list_val(cop_it);
if (cop->jump == prev_bb->addr && rz_list_has_next(cop_it)) {
cop = rz_list_iter_get_next_data(cop_it);
rz_list_pop(ctx->switch_path);
@ -1281,7 +1281,7 @@ static inline bool get_next_i(IterCtx *ctx, size_t *next_i) {
rz_list_free(ctx->bbl);
return false;
}
ctx->cur_bb = rz_list_iter_get_data(bbit);
ctx->cur_bb = rz_list_val(bbit);
rz_list_push(ctx->path, ctx->cur_bb);
rz_list_delete(ctx->bbl, bbit);
*next_i = ctx->cur_bb->addr - ctx->start_addr;

View file

@ -317,7 +317,7 @@ RZ_IPI int rz_line_hist_sdb_up(RzLine *line) {
return false;
}
line->sdbshell_hist_iter = rz_list_next(line->sdbshell_hist_iter);
strncpy(line->buffer.data, rz_list_iter_get_data(line->sdbshell_hist_iter), RZ_LINE_BUFSIZE - 1);
strncpy(line->buffer.data, rz_list_val(line->sdbshell_hist_iter), RZ_LINE_BUFSIZE - 1);
line->buffer.index = line->buffer.length = strlen(line->buffer.data);
return true;
}
@ -328,7 +328,7 @@ RZ_IPI int rz_line_hist_sdb_down(RzLine *line) {
return false;
}
line->sdbshell_hist_iter = rz_list_prev(line->sdbshell_hist_iter);
strncpy(line->buffer.data, rz_list_iter_get_data(line->sdbshell_hist_iter), RZ_LINE_BUFSIZE - 1);
strncpy(line->buffer.data, rz_list_val(line->sdbshell_hist_iter), RZ_LINE_BUFSIZE - 1);
line->buffer.index = line->buffer.length = strlen(line->buffer.data);
return true;
}

View file

@ -1733,7 +1733,7 @@ static void printVarSummary(RzDisasmState *ds, RzList /*<RzAnalysisVar *>*/ *lis
static ut32 fold_variables(RzCore *core, RzDisasmState *ds, RzListIter /*<RzAnalysisVar *>*/ *iter) {
rz_return_val_if_fail(iter, 0);
ut32 iter_mov = 0;
RzAnalysisVar *var = rz_list_iter_get_data(iter);
RzAnalysisVar *var = rz_list_val(iter);
if (!strcmp(ds->fold_var, "none") || rz_analysis_var_is_arg(var)) {
return iter_mov;
}
@ -1741,7 +1741,7 @@ static ut32 fold_variables(RzCore *core, RzDisasmState *ds, RzListIter /*<RzAnal
RzListIter *temp_it = rz_list_next(iter);
ut32 same_type_cnt = 1;
while (temp_it) {
RzAnalysisVar *temp_var = rz_list_iter_get_data(temp_it);
RzAnalysisVar *temp_var = rz_list_val(temp_it);
if (!temp_var) {
break;
}
@ -1770,7 +1770,7 @@ static ut32 fold_variables(RzCore *core, RzDisasmState *ds, RzListIter /*<RzAnal
ut32 group_num = strcmp(ds->fold_var, "group") ? 2 : 3;
while (iter_mov < group_num) {
rz_break_if_fail(iter);
RzAnalysisVar *temp_var = rz_list_iter_get_data(iter);
RzAnalysisVar *temp_var = rz_list_val(iter);
const RzStackAddr off = temp_var->storage.stack_off;
const char sign = off >= 0 ? '+' : '-';
rz_strbuf_appendf(sb, "%s @ stack %c 0x%" PFMT64x "; ", temp_var->name, sign, RZ_ABS(off));

View file

@ -1790,5 +1790,5 @@ RZ_API RzDebugPid *rz_debug_get_thread(RzList /*<RzList *>*/ *th_list, int tid)
if (!it) {
return NULL;
}
return (RzDebugPid *)rz_list_iter_get_data(it);
return (RzDebugPid *)rz_list_val(it);
}

View file

@ -873,7 +873,7 @@ RzList /*<RzDebugFrame *>*/ *rz_debug_dmp_frames(RzDebug *dbg, ut64 at) {
if (!it) {
break;
}
WindModule *module = rz_list_iter_get_data(it);
WindModule *module = rz_list_val(it);
char *exepath, *pdbpath;
if (!winkd_download_module_and_pdb(module, server, symstore, &exepath, &pdbpath)) {
break;

View file

@ -542,7 +542,7 @@ static bool backtrace_windows_x64(RZ_IN RzDebug *dbg, RZ_INOUT RzList /*<RzDebug
// Either broken stack or module info not avalable (PEB paged out, etc)
break;
}
RzDebugMap *module = rz_list_iter_get_data(it);
RzDebugMap *module = rz_list_val(it);
if (!module) {
// Should never happen
break;

View file

@ -101,7 +101,7 @@ static inline PTHREAD_ITEM find_thread(RzDebug *dbg, int tid) {
return NULL;
}
RzListIter *it = rz_list_find(dbg->threads, &tid, (RzListComparator)w32_findthread_cmp, NULL);
return it ? rz_list_iter_get_data(it) : NULL;
return it ? rz_list_val(it) : NULL;
}
static PTHREAD_ITEM add_thread(RzDebug *dbg, DWORD pid, DWORD tid, HANDLE hThread, LPVOID lpThreadLocalBase, LPVOID lpStartAddress, BOOL bFinished) {
@ -772,7 +772,7 @@ static int findlibcmp(void *BaseOfDll, void *lib, void *user) {
static void *find_library(void *BaseOfDll) {
RzListIter *it = rz_list_find(lib_list, BaseOfDll, (RzListComparator)findlibcmp, NULL);
return it ? rz_list_iter_get_data(it) : NULL;
return it ? rz_list_val(it) : NULL;
}
static void remove_library(PLIB_ITEM library) {

View file

@ -395,7 +395,7 @@ RZ_IPI xnu_thread_t *rz_xnu_get_thread(RzDebug *dbg, int tid) {
return NULL;
}
}
return (xnu_thread_t *)rz_list_iter_get_data(it);
return (xnu_thread_t *)rz_list_val(it);
}
/* XXX: right now it just returns the first thread, not the one selected in dbg->tid */

View file

@ -572,7 +572,7 @@ RZ_API RZ_BORROW const ut8 *rz_hash_cfg_get_result(RZ_NONNULL RzHashCfg *md, RZ_
return NULL;
}
HashCfgConfig *mdc = (HashCfgConfig *)rz_list_iter_get_data(it);
HashCfgConfig *mdc = (HashCfgConfig *)rz_list_val(it);
rz_return_val_if_fail(mdc, NULL);
if (size) {
@ -597,7 +597,7 @@ RZ_API RZ_OWN char *rz_hash_cfg_get_result_string(RZ_NONNULL RzHashCfg *md, RZ_N
return NULL;
}
HashCfgConfig *mdc = (HashCfgConfig *)rz_list_iter_get_data(it);
HashCfgConfig *mdc = (HashCfgConfig *)rz_list_val(it);
rz_return_val_if_fail(mdc, NULL);
if (!strncmp(name, "entropy", strlen("entropy"))) {
@ -642,7 +642,7 @@ RZ_API RzHashSize rz_hash_cfg_size(RZ_NONNULL RzHashCfg *md, RZ_NONNULL const ch
return 0;
}
HashCfgConfig *mdc = (HashCfgConfig *)rz_list_iter_get_data(it);
HashCfgConfig *mdc = (HashCfgConfig *)rz_list_val(it);
rz_return_val_if_fail(mdc, 0);
return mdc->plugin->digest_size(mdc->context);
}

View file

@ -90,7 +90,6 @@ RZ_API RZ_OWN RzList *rz_list_new_from_iterator(RZ_BORROW RZ_NONNULL RzIterator
RZ_API RZ_BORROW void *rz_list_iter_get_prev_data(RZ_NONNULL RzListIter *iter);
RZ_API RZ_BORROW void *rz_list_iter_get_next_data(RZ_NONNULL RzListIter *iter);
RZ_API ut32 rz_list_set_n(RZ_NONNULL RzList *list, ut32 n, RZ_NONNULL void *data);
RZ_API void *rz_list_iter_get_data(RZ_NONNULL RzListIter *iter);
RZ_API bool rz_list_iter_set_data(RZ_NONNULL RzListIter *iter, RZ_NULLABLE void *data);
RZ_API bool rz_list_iter_swap_data(RZ_NONNULL RzListIter *iter0, RZ_NONNULL RzListIter *iter1);
RZ_API RZ_BORROW RzListIter *rz_list_append(RZ_NONNULL RzList *list, RZ_NONNULL void *data);

View file

@ -524,7 +524,8 @@ dotherax:
} else if (is_timestamp(flags)) { // -t, -m, -W
RzList *split = rz_str_split_list(str, "GMT", 0);
RzListIter *head = rz_list_head(split);
char *ts = rz_list_iter_get_data(head);
rz_return_val_if_fail(head, false);
char *ts = rz_list_val(head);
const char *gmt = rz_list_iter_get_next_data(head);
if (gmt && strlen(gmt) < 2) {
gmt = NULL;

View file

@ -214,8 +214,9 @@ RZ_API void rz_reg_arena_swap(RzReg *reg, int copy) {
if (rz_list_length(reg->regset[i].pool) > 1) {
RzListIter *ia = reg->regset[i].cur;
RzListIter *ib = reg->regset[i].pool->head;
rz_break_if_fail(ia && ib);
rz_list_iter_swap_data(ia, ib);
reg->regset[i].arena = rz_list_iter_get_data(ia);
reg->regset[i].arena = rz_list_val(ia);
} else {
break;
}

View file

@ -131,7 +131,7 @@ RZ_API RzGraphNode *rz_graph_get_node(const RzGraph *t, unsigned int idx) {
if (!it) {
return NULL;
}
return (RzGraphNode *)rz_list_iter_get_data(it);
return (RzGraphNode *)rz_list_val(it);
}
RZ_API RzListIter *rz_graph_node_iter(const RzGraph *t, unsigned int idx) {

View file

@ -31,15 +31,6 @@ RZ_API RZ_BORROW void *rz_list_iter_get_next_data(RZ_NONNULL RzListIter *iter) {
return n->val;
}
/**
* \brief returns the value stored in the list iterator
*
**/
RZ_API void *rz_list_iter_get_data(RZ_NONNULL RzListIter *iter) {
rz_return_val_if_fail(iter, NULL);
return iter->val;
}
/**
* \brief Sets the value stored in the list iterator and returns true if succeeds
*

View file

@ -1518,12 +1518,12 @@ RZ_API RZ_OWN RzTable *rz_table_transpose(RZ_NONNULL RzTable *t) {
if (row_name && t->rows) {
iter = row_name->head;
if (iter) {
item = rz_list_iter_get_data(iter);
item = rz_list_val(iter);
for (i = 0; i < t->totalCols; i++) {
rz_table_add_row(transpose, item, NULL);
if (rz_list_has_next(iter)) {
iter = rz_list_next(iter);
item = rz_list_iter_get_data(iter);
item = rz_list_val(iter);
}
}
}

View file

@ -50,7 +50,7 @@ static void *thread_iterate_list_cb(th_list_ctx_t *context) {
rz_th_lock_leave(lock);
break;
}
element = rz_list_iter_get_data(context->head);
element = rz_list_val(context->head);
context->head = rz_list_next(context->head);
rz_th_lock_leave(lock);