deps/unrar/rawint.hpp
// Load 4 big endian bytes from memory and return uint32.
Load 4 big endian bytes from memory and return uint32.
Load 4 big endian bytes from memory and return uint32 .
inline uint32 RawGetBE4(const byte *m)
{
#if defined(USE_MEM_BYTESWAP) && defined(_MSC_VER)
  return _byteswap_ulong(*(uint32 *)m);
#elif defined(USE_MEM_BYTESWAP) && (__GNUC__ > 3) && (__GNUC_MINOR__ > 2)
  return __builtin_bswap32(*(uint32 *)m);
#else
  return uint32(m[0]<<24) | uint32(m[1]<<16) | uint32(m[2]<<8) | m[3];
#endif
}
inline uint32 RawGetBE4 ( const byte * m ) { #if defined ( USE_MEM_BYTESWAP ) && defined ( _MSC_VER ) return _byteswap_ulong ( * ( uint32 * ) m ) ; #elif defined ( USE_MEM_BYTESWAP ) && ( __GNUC__ > 3 ) && ( __GNUC_MINOR__ > 2 ) return __builtin_bswap32 ( * ( uint32 * ) m ) ; #else return uint32 ( m [ 0 ] << 24 ) | uint32 ( m [ 1 ] << 16 ) | uint32 ( m [ 2 ] << 8 ) | m [ 3 ] ; #endif }
Load 4 big endian bytes from memory and return uint32.
Load 4 big endian bytes from memory and return uint32 .