File 1141-erts-Silence-CodeChecker-in-print_term.patch of Package erlang
From 422d82385c990463f615ab750a1117c2029bb888 Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Fri, 19 Feb 2021 14:21:10 +0100
Subject: [PATCH 01/10] erts: Silence CodeChecker in print_term
---
erts/emulator/beam/erl_printf_term.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/erts/emulator/beam/erl_printf_term.c b/erts/emulator/beam/erl_printf_term.c
index 988e843242..60bb09f0c6 100644
--- a/erts/emulator/beam/erl_printf_term.c
+++ b/erts/emulator/beam/erl_printf_term.c
@@ -621,14 +621,15 @@ print_term(fmtfn_t fn, void* arg, Eterm obj, long *dcount) {
PRINT_CHAR(res, fn, arg, '>');
}
break;
- case MAP_DEF:
- if (is_flatmap(wobj)) {
+ case MAP_DEF: {
+ Eterm *head = boxed_val(wobj);
+
+ if (is_flatmap_header(*head)) {
Uint n;
Eterm *ks, *vs;
- flatmap_t *mp = (flatmap_t *)flatmap_val(wobj);
- n = flatmap_get_size(mp);
- ks = flatmap_get_keys(mp);
- vs = flatmap_get_values(mp);
+ n = flatmap_get_size(head);
+ ks = flatmap_get_keys(head);
+ vs = flatmap_get_values(head);
PRINT_CHAR(res, fn, arg, '#');
PRINT_CHAR(res, fn, arg, '{');
@@ -643,8 +644,6 @@ print_term(fmtfn_t fn, void* arg, Eterm obj, long *dcount) {
}
} else {
Uint n, mapval;
- Eterm *head;
- head = hashmap_val(wobj);
mapval = MAP_HEADER_VAL(*head);
switch (MAP_HEADER_TYPE(*head)) {
case MAP_HEADER_TAG_HAMT_HEAD_ARRAY:
@@ -689,6 +688,7 @@ print_term(fmtfn_t fn, void* arg, Eterm obj, long *dcount) {
}
}
break;
+ }
case MATCHSTATE_DEF:
PRINT_STRING(res, fn, arg, "#MatchState");
break;
--
2.26.2