diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-06-12 09:20:03 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-06-12 09:20:03 (GMT) |
commit | 05477289bb7f99e617d8b39c64fbbff2b30be368 (patch) | |
tree | 3cdb997b64fcc17e496845ec714cf3582b4d1abe /src/corelib/global | |
parent | 1c20abaaeef1ab448526e5821db06350537c1333 (diff) | |
parent | 91b3cea424e08e7480fb32987f757206d885504c (diff) | |
download | Qt-05477289bb7f99e617d8b39c64fbbff2b30be368.zip Qt-05477289bb7f99e617d8b39c64fbbff2b30be368.tar.gz Qt-05477289bb7f99e617d8b39c64fbbff2b30be368.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (55 commits)
Fix symbian-abld build failure with bearer plugins
remove certificate bundle
make QSslSocket::systemCaCertificates() use system certs
Adjusted RegExp in QSslCertificate::fromPath()
Fix QSystemTrayIcon::supportsMessages() on Windows
Use NIM_SETVERSION to get the latest behavior
Cleanup obsolete stuff
doc: Added DITA XML generator
Fixed a broken merge.
Changed the way we detect touch screen on Windows.
Fixed error deploying qsymbianbearer.qtplugin on Symbian.
Revert "Attempt to fix build failure on Symbian."
Attempt to fix build failure on Symbian.
Replaced redundant "!contains" scopes in "contains(A, B) {...} !contains(A, B) {...}" constructions with "else"
Updated leading whitespace to make indentation more consistent
Updated project files so it is now possible to use "-system-zlib" configuration option on Windows and Symbian platforms.
make postgresql support sensitive to PSQL_LIBS
support for cross building Qt for MinGW (win32-g++) on Unix
use "win32-g++*" scope to match all MinGW makespecs
Demos: Fix compilation with namespace.
...
Diffstat (limited to 'src/corelib/global')
-rw-r--r-- | src/corelib/global/qendian.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h index 107854c..d53504a 100644 --- a/src/corelib/global/qendian.h +++ b/src/corelib/global/qendian.h @@ -44,6 +44,14 @@ #include <QtCore/qglobal.h> +#ifdef Q_OS_LINUX +# include <features.h> +#endif + +#ifdef __GLIBC__ +#include <byteswap.h> +#endif + QT_BEGIN_HEADER QT_BEGIN_NAMESPACE @@ -264,6 +272,21 @@ template <> inline qint16 qFromBigEndian<qint16>(const uchar *src) * and it is therefore a bit more convenient and in most cases more efficient. */ template <typename T> T qbswap(T source); + +#ifdef __GLIBC__ +template <> inline quint64 qbswap<quint64>(quint64 source) +{ + return bswap_64(source); +} +template <> inline quint32 qbswap<quint32>(quint32 source) +{ + return bswap_32(source); +} +template <> inline quint16 qbswap<quint16>(quint16 source) +{ + return bswap_16(source); +} +#else template <> inline quint64 qbswap<quint64>(quint64 source) { return 0 @@ -292,6 +315,7 @@ template <> inline quint16 qbswap<quint16>(quint16 source) | ((source & 0x00ff) << 8) | ((source & 0xff00) >> 8) ); } +#endif // __GLIBC__ // signed specializations template <> inline qint64 qbswap<qint64>(qint64 source) |