From aaf829bfb124fcd7953c33f38154027537efb072 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Fri, 29 Nov 2019 07:07:08 -0800 Subject: [PATCH] Fix fallback pointer formatting on big endian, take 2 --- include/fmt/format.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) Index: fmt-6.0.0/include/fmt/format.h =================================================================== --- fmt-6.0.0.orig/include/fmt/format.h +++ fmt-6.0.0/include/fmt/format.h @@ -220,7 +220,10 @@ struct fallback_uintptr { fallback_uintptr() = default; explicit fallback_uintptr(const void* p) { *this = bit_cast(p); - if (is_big_endian()) std::memmove(value, value, sizeof(void*)); + if (is_big_endian()) { + for (size_t i = 0, j = sizeof(void*) - 1; i < j; ++i, --j) + std::swap(value[i], value[j]); + } } }; #ifdef UINTPTR_MAX