diff options
author | Matus Valo <matusvalo@gmail.com> | 2017-09-13 01:19:28 -0700 |
---|---|---|
committer | Matus Valo <matusvalo@gmail.com> | 2017-09-13 01:19:28 -0700 |
commit | 2b447c7e4283ea7fd2c11ae588f4625d486561cd (patch) | |
tree | d5ba8d301d6c47830966b3734080523b0907530c | |
parent | 039c94675d0eea7b9fdb6f6ef0611c98b8d0627e (diff) | |
download | librabbitmq-2b447c7e4283ea7fd2c11ae588f4625d486561cd.tar.gz |
use PyUnicode_FromStringAndSize in PySTRING_FROM_AMQBYTES macro.
This commit fixes crashes when librabbitmq is used in kombu.
-rw-r--r-- | Modules/_librabbitmq/connection.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Modules/_librabbitmq/connection.h b/Modules/_librabbitmq/connection.h index 0e2c3d0..e734e75 100644 --- a/Modules/_librabbitmq/connection.h +++ b/Modules/_librabbitmq/connection.h @@ -87,8 +87,14 @@ buffer_toMemoryView(char *buf, Py_ssize_t buf_len) { Py_XDECREF(value); \ } while(0) -#define PySTRING_FROM_AMQBYTES(member) \ - PyBytes_FromStringAndSize(member.bytes, (Py_ssize_t)member.len); \ +#if PY_MAJOR_VERSION == 2 +# define PySTRING_FROM_AMQBYTES(member) \ + PyString_FromStringAndSize(member.bytes, (Py_ssize_t)member.len); +#else +# define PySTRING_FROM_AMQBYTES(member) \ + PyUnicode_FromStringAndSize(member.bytes, (Py_ssize_t)member.len); +#endif + #define AMQTable_TO_PYKEY(table, i) \ PySTRING_FROM_AMQBYTES(table->entries[i].key) |