core: update iterator usage

This commit is contained in:
2026-05-25 19:14:45 +01:00
parent edfb3e24a3
commit 6bfe3f0a6e
2 changed files with 17 additions and 16 deletions
+11 -10
View File
@@ -40,13 +40,13 @@ static enum bshell_status process_record(
return BSHELL_SUCCESS;
}
fx_iterator *aliases = fx_iterator_begin(rt->rt_aliases);
const fx_iterator *aliases = fx_iterator_begin(rt->rt_aliases);
fx_foreach(item_v, aliases)
{
fx_hashtable_item *item;
fx_value_get_object(&item_v, &item);
fx_value alias_v = fx_hashtable_item_get_value(item);
bshell_pipeline_write_value(pipeline, alias_v, false);
fx_value_get_object(item_v, &item);
const fx_value *alias_v = fx_hashtable_item_get_value(item);
bshell_pipeline_write_value(pipeline, *alias_v, false);
}
fx_iterator_unref(aliases);
@@ -55,13 +55,14 @@ static enum bshell_status process_record(
while (scope) {
fx_hashtable *function_map
= bshell_runtime_scope_get_functions(scope);
fx_iterator *functions = fx_iterator_begin(function_map);
const fx_iterator *functions = fx_iterator_begin(function_map);
fx_foreach(item_v, functions)
{
fx_hashtable_item *item;
fx_value_get_object(&item_v, &item);
fx_value func_v = fx_hashtable_item_get_value(item);
bshell_pipeline_write_value(pipeline, func_v, false);
fx_value_get_object(item_v, &item);
const fx_value *func_v
= fx_hashtable_item_get_value(item);
bshell_pipeline_write_value(pipeline, *func_v, false);
}
fx_iterator_unref(functions);
@@ -72,12 +73,12 @@ static enum bshell_status process_record(
fx_foreach(asm_v, assemblies)
{
fx_assembly *assembly = NULL;
fx_value_get_object(&asm_v, &assembly);
fx_value_get_object(asm_v, &assembly);
fx_iterator *types = fx_assembly_get_types(assembly);
fx_foreach(v, types)
{
fx_type *ty = NULL;
fx_value_get_object(&v, &ty);
fx_value_get_object(v, &ty);
fx_type_flags ty_flags = fx_type_get_flags(ty);
bool is_abstract = (ty_flags & FX_TYPE_F_ABSTRACT) != 0;
if (is_abstract) {
+6 -6
View File
@@ -17,7 +17,7 @@ FX_TYPE_CLASS_DECLARATION_END(bshell_get_verb)
struct bshell_get_verb_p {
fx_hashtable *c_verbs;
fx_iterator *c_it;
const fx_iterator *c_it;
};
static enum bshell_status begin_processing(bshell_cmdlet *cmdlet)
@@ -38,18 +38,18 @@ static enum bshell_status process_record(
= fx_object_get_private(cmdlet, BSHELL_TYPE_GET_VERB);
do {
fx_value v = fx_iterator_get_value(p->c_it);
if (!v.v_type) {
const fx_value *v = fx_iterator_get_value(p->c_it);
if (!v) {
return BSHELL_SUCCESS;
}
fx_hashtable_item *item = NULL;
fx_value_get_object(&v, &item);
fx_value_get_object(v, &item);
v = fx_hashtable_item_get_value(item);
bshell_verb *verb = NULL;
fx_value_get_object(&v, &verb);
fx_value_get_object(v, &verb);
fx_iterator_move_next(p->c_it);
if (bshell_verb_is_reserved(verb)) {
@@ -59,7 +59,7 @@ static enum bshell_status process_record(
bshell_verb_ref(verb);
bshell_pipeline_write_value(
pipeline,
fx_value_copy_return(fx_hashtable_item_get_value(item)),
fx_value_ref_copy_return(v),
false);
break;
} while (1);