From 1d3c06bb709a8f43f45f8a72d8a467336e3c82fe Mon Sep 17 00:00:00 2001 From: Roman Date: Tue, 31 Mar 2015 00:16:40 +0300 Subject: [PATCH] bin wrong first byte --- src/private/pack_p.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/private/pack_p.cpp b/src/private/pack_p.cpp index 0380df8..eec0f56 100644 --- a/src/private/pack_p.cpp +++ b/src/private/pack_p.cpp @@ -208,19 +208,18 @@ quint8 *MsgPackPrivate::pack_double(double i, quint8 *p, bool wr) quint8 *MsgPackPrivate::pack_bin(const QByteArray &arr, quint8 *p, bool wr) { int len = arr.length(); - if (len <= std::numeric_limits::max() && - compatibilityMode == false) { - if (wr) *p = 0xc4; + if (len <= std::numeric_limits::max()) { + if (wr) *p = compatibilityMode ? 0xd9 : 0xc4; p++; if (wr) *p = len; p++; } else if (len <= std::numeric_limits::max()) { - if (wr) *p = compatibilityMode ? 0xc5 : 0xda; + if (wr) *p = compatibilityMode ? 0xda : 0xc5; p++; if (wr) _msgpack_store16(p, len); p += 2; } else { - if (wr) *p = compatibilityMode ? 0xc6 : 0xdb; + if (wr) *p = compatibilityMode ? 0xdb : 0xc6; p++; if (wr) _msgpack_store32(p, len); p += 4;