Use compiler macros for endianness

main
Miloš Komarčević 2 years ago committed by Miloš Komarčević
parent 50648dd4b0
commit c686bed5f8

@ -168,8 +168,12 @@ bool Image::isPrintICC(uint16_t type, Exiv2::PrintStructureOption option) {
} }
bool Image::isBigEndianPlatform() { bool Image::isBigEndianPlatform() {
#if defined(__BYTE_ORDER) #ifdef __LITTLE_ENDIAN__
#if __BYTE_ORDER == __BIG_ENDIAN return false;
#elif defined(__BIG_ENDIAN__)
return true;
#elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__)
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
return true; return true;
#else #else
return false; return false;
@ -184,7 +188,11 @@ bool Image::isBigEndianPlatform() {
#endif #endif
} }
bool Image::isLittleEndianPlatform() { bool Image::isLittleEndianPlatform() {
#ifdef __LITTLE_ENDIAN__
return true;
#else
return !isBigEndianPlatform(); return !isBigEndianPlatform();
#endif
} }
uint64_t Image::byteSwap(uint64_t value, bool bSwap) { uint64_t Image::byteSwap(uint64_t value, bool bSwap) {

Loading…
Cancel
Save