Some endianess related fixes and cleanups

* Fixed: build fail at bigendian platform in result typo in code
* Hide endianess related convertions into EndianConvert/EndianConvertReverse calls
* Linkning errors protection from attemps convertion pointers.
This commit is contained in:
VladimirMangos 2008-10-24 04:06:27 +04:00
parent 89893215e5
commit 51b2290be6
3 changed files with 17 additions and 19 deletions

View file

@ -46,12 +46,18 @@ namespace ByteConverter
#if MANGOS_ENDIAN == MANGOS_BIGENDIAN
template<typename T> inline void EndianConvert(T& val) { ByteConverter::apply<T>(&val); }
template<typename T> inline void EndianConvertReverse(T&) { }
#else
template<typename T> inline void EndianConvert(T&) { }
template<typename T> inline void EndianConvertReverse(T& val) { ByteConverter::apply<T>(&val); }
#endif
template<typename T> inline void EndianConvert(T*) { }
template<typename T> void EndianConvert(T*); // will generate link error
template<typename T> void EndianConvertReverse(T*); // will generate link error
inline void EndianConvert(uint8&) { }
inline void EndianConvert( int8&) { }
inline void EndianConvertReverse(uint8&) { }
inline void EndianConvertReverse( int8&) { }
#endif