summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qbytearray.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2012-05-03 10:18:36 +0200
committerLars Knoll <lars.knoll@nokia.com>2012-05-03 12:26:09 +0200
commit1e49914fee099c4c0d634743326b50ad02e6c8f1 (patch)
tree422eedb9ddcb16fa9f5a653737b4c78d8930eeae /src/corelib/tools/qbytearray.h
parent1eac22a1b9dad7f843916afa9b7c820aa1c23777 (diff)
parentc0d249019b098890fb8e5e9e144c2dd8029a670c (diff)
Merge remote-tracking branch 'origin/api_changes'
Conflicts: src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/gui/kernel/qguiapplication.h src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow.h tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp Change-Id: I62a8805577a7940d4d36bed985eb3e7019d22f2e
Diffstat (limited to 'src/corelib/tools/qbytearray.h')
-rw-r--r--src/corelib/tools/qbytearray.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h
index 45be63aa9b..0f5ebcfb18 100644
--- a/src/corelib/tools/qbytearray.h
+++ b/src/corelib/tools/qbytearray.h
@@ -169,13 +169,14 @@ struct QByteArrayDataPtr
#if defined(Q_COMPILER_LAMBDA)
# define QByteArrayLiteral(str) \
- ([]() -> QByteArrayDataPtr { \
+ ([]() -> QByteArray { \
enum { Size = sizeof(str) - 1 }; \
static const QStaticByteArrayData<Size> qbytearray_literal = { \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER(Size), \
str }; \
QByteArrayDataPtr holder = { qbytearray_literal.data_ptr() }; \
- return holder; \
+ const QByteArray ba(holder); \
+ return ba; \
}()) \
/**/
@@ -185,22 +186,22 @@ struct QByteArrayDataPtr
// To do that, we need the __extension__ {( )} trick which only GCC supports
# define QByteArrayLiteral(str) \
- __extension__ ({ \
+ QByteArray(__extension__ ({ \
enum { Size = sizeof(str) - 1 }; \
static const QStaticByteArrayData<Size> qbytearray_literal = { \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER(Size), \
str }; \
QByteArrayDataPtr holder = { qbytearray_literal.data_ptr() }; \
holder; \
- }) \
+ })) \
/**/
#endif
#ifndef QByteArrayLiteral
-// no lambdas, not GCC, use const char * instead
+// no lambdas, not GCC, just return a temporary QByteArray
-# define QByteArrayLiteral(str) (str)
+# define QByteArrayLiteral(str) QByteArray(str, sizeof(str) - 1)
#endif
class Q_CORE_EXPORT QByteArray