validation: Fix tag array for 8 bit architectures

Compilation for 8 bit architectures fails due to a bit shift larger than
8 for a uint8_t data type. This commit changes the data type to uint32_t
for the tag array.

Signed-off-by: Koen Zandberg <koen@bergzand.net>
diff --git a/src/cborvalidation.c b/src/cborvalidation.c
index a1a7e08..00693d6 100644
--- a/src/cborvalidation.c
+++ b/src/cborvalidation.c
@@ -241,27 +241,27 @@
 
 struct KnownTagData { uint32_t tag; uint32_t types; };
 static const struct KnownTagData knownTagData[] = {
-    { 0, (uint8_t)CborTextStringType },
-    { 1, (uint8_t)(CborIntegerType+1) },
-    { 2, (uint8_t)CborByteStringType },
-    { 3, (uint8_t)CborByteStringType },
-    { 4, (uint8_t)CborArrayType },
-    { 5, (uint8_t)CborArrayType },
-    { 16, (uint8_t)CborArrayType },
-    { 17, (uint8_t)CborArrayType },
-    { 18, (uint8_t)CborArrayType },
-    { 21, (uint8_t)CborByteStringType | ((uint8_t)CborArrayType << 8) | ((uint8_t)CborMapType << 16) },
-    { 22, (uint8_t)CborByteStringType | ((uint8_t)CborArrayType << 8) | ((uint8_t)CborMapType << 16) },
-    { 23, (uint8_t)CborByteStringType | ((uint8_t)CborArrayType << 8) | ((uint8_t)CborMapType << 16) },
-    { 24, (uint8_t)CborByteStringType },
-    { 32, (uint8_t)CborTextStringType },
-    { 33, (uint8_t)CborTextStringType },
-    { 34, (uint8_t)CborTextStringType },
-    { 35, (uint8_t)CborTextStringType },
-    { 36, (uint8_t)CborTextStringType },
-    { 96, (uint8_t)CborArrayType },
-    { 97, (uint8_t)CborArrayType },
-    { 98, (uint8_t)CborArrayType },
+    { 0, (uint32_t)CborTextStringType },
+    { 1, (uint32_t)(CborIntegerType+1) },
+    { 2, (uint32_t)CborByteStringType },
+    { 3, (uint32_t)CborByteStringType },
+    { 4, (uint32_t)CborArrayType },
+    { 5, (uint32_t)CborArrayType },
+    { 16, (uint32_t)CborArrayType },
+    { 17, (uint32_t)CborArrayType },
+    { 18, (uint32_t)CborArrayType },
+    { 21, (uint32_t)CborByteStringType | ((uint32_t)CborArrayType << 8) | ((uint32_t)CborMapType << 16) },
+    { 22, (uint32_t)CborByteStringType | ((uint32_t)CborArrayType << 8) | ((uint32_t)CborMapType << 16) },
+    { 23, (uint32_t)CborByteStringType | ((uint32_t)CborArrayType << 8) | ((uint32_t)CborMapType << 16) },
+    { 24, (uint32_t)CborByteStringType },
+    { 32, (uint32_t)CborTextStringType },
+    { 33, (uint32_t)CborTextStringType },
+    { 34, (uint32_t)CborTextStringType },
+    { 35, (uint32_t)CborTextStringType },
+    { 36, (uint32_t)CborTextStringType },
+    { 96, (uint32_t)CborArrayType },
+    { 97, (uint32_t)CborArrayType },
+    { 98, (uint32_t)CborArrayType },
     { 55799, 0U }
 };
 
diff --git a/src/parsetags.pl b/src/parsetags.pl
index 18be146..fbb1829 100755
--- a/src/parsetags.pl
+++ b/src/parsetags.pl
@@ -104,8 +104,8 @@
         my $actualtype = "Cbor${type}Type";
         $actualtype = "($actualtype+1)" if $type eq "Integer";
         $typemask .= " | " if $typemask ne "";
-        $typemask .= "((uint8_t)$actualtype << $shift)" if $shift;
-        $typemask .= "(uint8_t)$actualtype" unless $shift;
+        $typemask .= "((uint32_t)$actualtype << $shift)" if $shift;
+        $typemask .= "(uint32_t)$actualtype" unless $shift;
         $shift += 8;
     }
     $typemask = "0U" if $typemask eq "";