diff options
Diffstat (limited to 'upb/pb')
-rw-r--r-- | upb/pb/varint.int.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/upb/pb/varint.int.h b/upb/pb/varint.int.h index 9c54311..5de1296 100644 --- a/upb/pb/varint.int.h +++ b/upb/pb/varint.int.h @@ -9,6 +9,7 @@ #include <assert.h> #include <stdint.h> #include <string.h> +#include <byteswap.h> #include "upb/upb.h" #ifdef __cplusplus @@ -130,6 +131,9 @@ UPB_INLINE uint64_t upb_vencode32(uint32_t val) { uint64_t ret = 0; UPB_ASSERT(bytes <= 5); memcpy(&ret, buf, bytes); +#ifdef UPB_BIG_ENDIAN + ret = bswap_64(ret); +#endif UPB_ASSERT(ret <= 0xffffffffffU); return ret; } |