Skip to content

Commit dd390d6

Browse files
committed
Merge pull request atomvm#583 from bettio/fix-bug-in-interop_kv_get_value_default
Fix bug in interop_kv_get_value_default interop_kv_get_value_default wasn't working with maps, fix it. These changes are made under both the "Apache 2.0" and the "GNU Lesser General Public License 2.1 or later" license terms (dual license). SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
2 parents 0eff155 + 75cc33c commit dd390d6

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/libAtomVM/interop.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -242,14 +242,14 @@ InteropFunctionResult interop_write_iolist(term t, char *p)
242242
return InteropOk;
243243
}
244244

245-
term interop_map_get_value(Context *ctx, term map, term key)
245+
term interop_map_get_value(GlobalContext *glb, term map, term key)
246246
{
247-
return interop_map_get_value_default(ctx, map, key, term_nil());
247+
return interop_map_get_value_default(glb, map, key, term_nil());
248248
}
249249

250-
term interop_map_get_value_default(Context *ctx, term map, term key, term default_value)
250+
term interop_map_get_value_default(GlobalContext *glb, term map, term key, term default_value)
251251
{
252-
int pos = term_find_map_pos(map, key, ctx->global);
252+
int pos = term_find_map_pos(map, key, glb);
253253
if (pos == TERM_MAP_NOT_FOUND) {
254254
return default_value;
255255
} else if (UNLIKELY(pos == TERM_MAP_MEMORY_ALLOC_FAIL)) {
@@ -281,7 +281,7 @@ term interop_kv_get_value_default(term kv, AtomString key, term default_value, G
281281
if (term_is_nonempty_list(kv)) {
282282
return interop_proplist_get_value_default(kv, key_term, default_value);
283283
} else if (term_is_map(kv)) {
284-
return interop_proplist_get_value_default(kv, key_term, default_value);
284+
return interop_map_get_value_default(glb, kv, key_term, default_value);
285285
} else {
286286
return default_value;
287287
}

src/libAtomVM/interop.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ char *interop_list_to_string(term list, int *ok);
5959
char *interop_atom_to_string(Context *ctx, term atom);
6060
term interop_proplist_get_value(term list, term key);
6161
term interop_proplist_get_value_default(term list, term key, term default_value);
62-
term interop_map_get_value(Context *ctx, term map, term key);
63-
term interop_map_get_value_default(Context *ctx, term map, term key, term default_value);
62+
term interop_map_get_value(GlobalContext *glb, term map, term key);
63+
term interop_map_get_value_default(GlobalContext *glb, term map, term key, term default_value);
6464

6565
NO_DISCARD InteropFunctionResult interop_iolist_size(term t, size_t *size);
6666
NO_DISCARD InteropFunctionResult interop_write_iolist(term t, char *p);

0 commit comments

Comments
 (0)