From 13981ff7270642c43337d9fe62dfea204f1ed52e Mon Sep 17 00:00:00 2001 From: Kevin Matz Date: Thu, 18 May 2023 14:38:32 -0400 Subject: [PATCH] consider native byte order when interpreting data --- lib/bufferstream/bufferstream.h | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/lib/bufferstream/bufferstream.h b/lib/bufferstream/bufferstream.h index 958af43..62b799d 100644 --- a/lib/bufferstream/bufferstream.h +++ b/lib/bufferstream/bufferstream.h @@ -125,16 +125,12 @@ public: else { auto bytes = reinterpret_cast(&ret); - switch (order_) { - case LittleEndian: + if (order_ == endian::native) for (int_fast8_t i = 0; i < width; i++) bytes[i] = get(); - break; - case BigEndian: - for (int_fast8_t i = width; --i >= 0;) + else + for (int_fast8_t i = width; --i >= 0;) bytes[i] = get(); - break; - } } if (!in_avail()) setstate(std::ios_base::eofbit); @@ -153,16 +149,12 @@ public: return; } auto bytes = reinterpret_cast(&val); - switch (order_) { - case LittleEndian: + if (order_ == endian::native) for (int_fast8_t i = 0; i < width; i++) put(bytes[i]); - break; - case BigEndian: + else for (int_fast8_t i = width; --i >= 0;) put(bytes[i]); - break; - } } private: