reformat MachineInfo.h

This commit is contained in:
Dennis Luxen 2014-05-07 11:38:22 +02:00
parent fc6017c0dd
commit c2b7336817
2 changed files with 16 additions and 12 deletions

View File

@ -406,7 +406,7 @@ inline void PBFParser::loadBlock(_ThreadData * threadData) {
inline bool PBFParser::readPBFBlobHeader(std::fstream& stream, _ThreadData * threadData) { inline bool PBFParser::readPBFBlobHeader(std::fstream& stream, _ThreadData * threadData) {
int size(0); int size(0);
stream.read((char *)&size, sizeof(int)); stream.read((char *)&size, sizeof(int));
size = swapEndian(size); size = SwapEndian(size);
if(stream.eof()) { if(stream.eof()) {
return false; return false;
} }

View File

@ -28,25 +28,29 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef MACHINE_INFO_H #ifndef MACHINE_INFO_H
#define MACHINE_INFO_H #define MACHINE_INFO_H
enum Endianness { enum Endianness
LittleEndian = 1, { LittleEndian = 1,
BigEndian = 2 BigEndian = 2 };
};
//Function is optimized to a single 'mov eax,1' on GCC, clang and icc using -O3 // Function is optimized to a single 'mov eax,1' on GCC, clang and icc using -O3
inline Endianness getMachineEndianness() { inline Endianness GetMachineEndianness()
{
int i(1); int i(1);
char *p = (char *) &i; char *p = (char *)&i;
if (1 == p[0]) { if (1 == p[0])
{
return LittleEndian; return LittleEndian;
} }
return BigEndian; return BigEndian;
} }
// Reverses Network Byte Order into something usable, compiles down to a bswap-mov combination // Reverses Network Byte Order into something usable, compiles down to a bswap-mov combination
inline unsigned swapEndian(unsigned x) { inline unsigned SwapEndian(unsigned x)
if(getMachineEndianness() == LittleEndian) {
return ( (x>>24) | ((x<<8) & 0x00FF0000) | ((x>>8) & 0x0000FF00) | (x<<24) ); if (GetMachineEndianness() == LittleEndian)
{
return ((x >> 24) | ((x << 8) & 0x00FF0000) | ((x >> 8) & 0x0000FF00) | (x << 24));
}
return x; return x;
} }