diff options
Diffstat (limited to 'src/datatype.c')
-rw-r--r-- | src/datatype.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/datatype.c b/src/datatype.c index 8583531f..91e5ed6d 100644 --- a/src/datatype.c +++ b/src/datatype.c @@ -51,6 +51,7 @@ static const struct datatype *datatypes[TYPE_MAX + 1] = { void datatype_register(const struct datatype *dtype) { + BUILD_BUG_ON(TYPE_MAX & ~TYPE_MASK); datatypes[dtype->type] = dtype; } @@ -939,7 +940,7 @@ const struct datatype *concat_type_alloc(const struct expr *expr) strncat(desc, i->dtype->desc, sizeof(desc) - strlen(desc) - 1); strncat(name, i->dtype->name, sizeof(name) - strlen(name) - 1); - type <<= 8; + type <<= TYPE_BITS; type |= i->dtype->type; size += i->dtype->size; subtypes++; |