summaryrefslogtreecommitdiffstats
path: root/src/datatype.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/datatype.c')
-rw-r--r--src/datatype.c3
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++;