aboutsummaryrefslogtreecommitdiff
path: root/src/crypto
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2024-02-27 18:39:22 +0000
committerCory Fields <cory-nospam-@coryfields.com>2024-02-28 13:42:38 +0000
commit86b7f28d6c507155a9d3a15487ee883989b88943 (patch)
treefe1bf5c7c64ba059ddc3c98729f7901dbe8b5b83 /src/crypto
parent432b18ca8d0654318a8d882b28b20af2cb2d2e5d (diff)
downloadbitcoin-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.h22
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);
}