diff options
author | Cory Fields <cory-nospam-@coryfields.com> | 2024-02-27 18:39:22 +0000 |
---|---|---|
committer | Cory Fields <cory-nospam-@coryfields.com> | 2024-02-28 13:42:38 +0000 |
commit | 86b7f28d6c507155a9d3a15487ee883989b88943 (patch) | |
tree | fe1bf5c7c64ba059ddc3c98729f7901dbe8b5b83 /src/crypto | |
parent | 432b18ca8d0654318a8d882b28b20af2cb2d2e5d (diff) | |
download | bitcoin-86b7f28d6c507155a9d3a15487ee883989b88943.tar.xz |
serialization: use internal endian conversion functions
These replace our platform-specific mess in favor of c++20 endian detection
via std::endian and internal byteswap functions when necessary.
They no longer rely on autoconf detection.
Diffstat (limited to 'src/crypto')
-rw-r--r-- | src/crypto/common.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/crypto/common.h b/src/crypto/common.h index 42f72a6fa8..1dc4f3f55c 100644 --- a/src/crypto/common.h +++ b/src/crypto/common.h @@ -14,38 +14,38 @@ uint16_t static inline ReadLE16(const unsigned char* ptr) { uint16_t x; memcpy(&x, ptr, 2); - return le16toh(x); + return le16toh_internal(x); } uint32_t static inline ReadLE32(const unsigned char* ptr) { uint32_t x; memcpy(&x, ptr, 4); - return le32toh(x); + return le32toh_internal(x); } uint64_t static inline ReadLE64(const unsigned char* ptr) { uint64_t x; memcpy(&x, ptr, 8); - return le64toh(x); + return le64toh_internal(x); } void static inline WriteLE16(unsigned char* ptr, uint16_t x) { - uint16_t v = htole16(x); + uint16_t v = htole16_internal(x); memcpy(ptr, &v, 2); } void static inline WriteLE32(unsigned char* ptr, uint32_t x) { - uint32_t v = htole32(x); + uint32_t v = htole32_internal(x); memcpy(ptr, &v, 4); } void static inline WriteLE64(unsigned char* ptr, uint64_t x) { - uint64_t v = htole64(x); + uint64_t v = htole64_internal(x); memcpy(ptr, &v, 8); } @@ -53,32 +53,32 @@ uint16_t static inline ReadBE16(const unsigned char* ptr) { uint16_t x; memcpy(&x, ptr, 2); - return be16toh(x); + return be16toh_internal(x); } uint32_t static inline ReadBE32(const unsigned char* ptr) { uint32_t x; memcpy(&x, ptr, 4); - return be32toh(x); + return be32toh_internal(x); } uint64_t static inline ReadBE64(const unsigned char* ptr) { uint64_t x; memcpy(&x, ptr, 8); - return be64toh(x); + return be64toh_internal(x); } void static inline WriteBE32(unsigned char* ptr, uint32_t x) { - uint32_t v = htobe32(x); + uint32_t v = htobe32_internal(x); memcpy(ptr, &v, 4); } void static inline WriteBE64(unsigned char* ptr, uint64_t x) { - uint64_t v = htobe64(x); + uint64_t v = htobe64_internal(x); memcpy(ptr, &v, 8); } |