diff --git a/Modules/Core/Common/include/itkByteSwapper.hxx b/Modules/Core/Common/include/itkByteSwapper.hxx index 1b550403325..5aa05abde70 100644 --- a/Modules/Core/Common/include/itkByteSwapper.hxx +++ b/Modules/Core/Common/include/itkByteSwapper.hxx @@ -65,7 +65,7 @@ template void ByteSwapper::SwapWriteRangeFromSystemToBigEndian(const T * p, int num, std::ostream * fp) { - if constexpr (m_SystemIsBigEndian) + if constexpr (m_SystemIsBigEndian || sizeof(T) == 1) { num *= sizeof(T); fp->write(reinterpret_cast(p), num); @@ -74,8 +74,6 @@ ByteSwapper::SwapWriteRangeFromSystemToBigEndian(const T * p, int num, std::o { switch (sizeof(T)) { - case 1: - return; case 2: Self::SwapWrite2Range(p, num, fp); return; @@ -118,12 +116,10 @@ template void ByteSwapper::SwapWriteRangeFromSystemToLittleEndian(const T * p, int num, std::ostream * fp) { - if constexpr (m_SystemIsBigEndian) + if constexpr (m_SystemIsBigEndian && sizeof(T) > 1) { switch (sizeof(T)) { - case 1: - return; case 2: Self::SwapWrite2Range(p, num, fp); return;