summaryrefslogtreecommitdiffstats
path: root/src/datatype.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/datatype.c')
-rw-r--r--src/datatype.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/datatype.c b/src/datatype.c
index 76f2af13..c93f76a3 100644
--- a/src/datatype.c
+++ b/src/datatype.c
@@ -931,8 +931,8 @@ const struct datatype *concat_type_alloc(uint32_t type)
unsigned int size = 0, subtypes = 0, n;
n = div_round_up(fls(type), TYPE_BITS);
- while ((type >> TYPE_BITS * --n) & TYPE_MASK) {
- i = datatype_lookup((type >> TYPE_BITS * n) & TYPE_MASK);
+ while (concat_subtype_id(type, --n)) {
+ i = concat_subtype_lookup(type, n);
if (i == NULL)
return NULL;