Move PB_WT_PACKED definition to the header (#671)
Casting integer values outside of the enum range is undefined behavior.
Normally most platforms do allocate at least 8 bits per enum and this
is not known to cause problems so far, but it gave compiler warnings.
diff --git a/pb.h b/pb.h
index 03d476f..488a5fa 100644
--- a/pb.h
+++ b/pb.h
@@ -377,7 +377,8 @@
PB_WT_VARINT = 0,
PB_WT_64BIT = 1,
PB_WT_STRING = 2,
- PB_WT_32BIT = 5
+ PB_WT_32BIT = 5,
+ PB_WT_PACKED = 255 /* PB_WT_PACKED is internal marker for packed arrays. */
} pb_wire_type_t;
/* Structure for defining the handling of unknown/extension fields.
diff --git a/pb_decode.c b/pb_decode.c
index b194825..790df75 100644
--- a/pb_decode.c
+++ b/pb_decode.c
@@ -57,8 +57,6 @@
#define pb_uint64_t uint64_t
#endif
-#define PB_WT_PACKED ((pb_wire_type_t)0xFF)
-
typedef struct {
uint32_t bitfield[(PB_MAX_REQUIRED_FIELDS + 31) / 32];
} pb_fields_seen_t;