diff options
| author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-06-15 13:04:36 +0200 |
|---|---|---|
| committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-06-21 06:37:24 +0000 |
| commit | e5e1fac136065d7c8afc49ac72cb517f64c87910 (patch) | |
| tree | 23bfea53fd8ffe183b5bbad7e0c76387b165ff16 /src/corelib/json/qjson.cpp | |
| parent | 4d70e03002de5cfc558398a235755470ad2c8408 (diff) | |
Move endian integers to qendian_p.h
The endian integers have more use than just in QJson, and is already
used separately by QtDeclarative. This patch moves q_littleendian out
of qjson_p.h and matches it with a corresponding q_bigendian, and puts
it to use in simplifying endian handling in the ico image handler.
Change-Id: I975bb701a089256db8ced3cb53b4bd62cdfb02dd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/json/qjson.cpp')
| -rw-r--r-- | src/corelib/json/qjson.cpp | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/corelib/json/qjson.cpp b/src/corelib/json/qjson.cpp index d509349a51a..e4bca3bcd06 100644 --- a/src/corelib/json/qjson.cpp +++ b/src/corelib/json/qjson.cpp @@ -45,15 +45,8 @@ QT_BEGIN_NAMESPACE namespace QJsonPrivate { -#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN -#define Q_TO_LITTLE_ENDIAN(x) (x) -#else -#define Q_TO_LITTLE_ENDIAN(x) ( ((x & 0xff) << 24) | ((x & 0xff00) << 8) | ((x & 0xff0000) >> 8) | ((x & 0xff000000) >> 24) ) -#endif - -static const Base emptyArray = { { Q_TO_LITTLE_ENDIAN(sizeof(Base)) }, { 0 }, { 0 } }; -static const Base emptyObject = { { Q_TO_LITTLE_ENDIAN(sizeof(Base)) }, { 0 }, { 0 } }; - +static Q_CONSTEXPR Base emptyArray = { { qle_uint(sizeof(Base)) }, { 0 }, { qle_uint(0) } }; +static Q_CONSTEXPR Base emptyObject = { { qle_uint(sizeof(Base)) }, { 0 }, { qle_uint(0) } }; void Data::compact() { @@ -394,7 +387,7 @@ int Value::requiredStorage(QJsonValue &v, bool *compressed) v.d->compact(); v.base = static_cast<QJsonPrivate::Base *>(v.d->header->root()); } - return v.base ? v.base->size : sizeof(QJsonPrivate::Base); + return v.base ? uint(v.base->size) : sizeof(QJsonPrivate::Base); case QJsonValue::Undefined: case QJsonValue::Null: case QJsonValue::Bool: |
