Use msgpack_pack_v4raw(_body) with new msgpack-c versions

In msgpack-c's 1.0.0 release, the code was changed to be compatible with
the v5 msgpack spec, specifically separating out the STR and BIN types
as replacements for the old RAW type.

While the STR type is likely the right replacement type to use, it does
introduce a str 8 variant that wasn't present for the old RAW type.  For
better compatibility, the msgpack_pack_v4raw functions were added to
directly map to the old functionality.

Signed-off-by: James McCoy <jamessan@jamessan.com>
master
James McCoy 8 years ago
parent ca170bcced
commit 7526080ac6

@ -8,6 +8,18 @@
#include <hiredis/hiredis.h>
#include <hiredis/async.h>
/* msgpack-c versions >= 1.0 changed to support the v5 msgpack spec.
* As part of doing this, the (un)pack_raw functions were replaced with
* more explicit (un)pack_str and (un)pack_bin. 1.2.0 introduced the
* (un)pack_v4raw functions to retain compatibility.
*/
#if defined(MSGPACK_VERSION_MAJOR) && defined(MSGPACK_VERSION_MINOR) \
&& MSGPACK_VERSION_MAJOR > 1 \
|| (MSGPACK_VERSION_MAJOR == 1 && MSGPACK_VERSION_MINOR >= 2)
#define msgpack_pack_raw msgpack_pack_v4raw
#define msgpack_pack_raw_body msgpack_pack_v4raw_body
#endif
struct msg_out {
char *p;
size_t sz;

Loading…
Cancel
Save