summaryrefslogtreecommitdiff
path: root/jq.pyx
diff options
context:
space:
mode:
Diffstat (limited to 'jq.pyx')
-rw-r--r--jq.pyx7
1 files changed, 5 insertions, 2 deletions
diff --git a/jq.pyx b/jq.pyx
index 0f580c4..f42efdf 100644
--- a/jq.pyx
+++ b/jq.pyx
@@ -3,6 +3,7 @@ import json
import threading
from cpython.bytes cimport PyBytes_AsString
+from cpython.bytes cimport PyBytes_AsStringAndSize
from libc.float cimport DBL_MAX
from libc.math cimport INFINITY, modf
@@ -335,8 +336,10 @@ cdef class _ResultIterator(object):
self._slurp = slurp
self._ready = False
cdef jv_parser* parser = jv_parser_new(0)
- cdef char* cbytes_input = PyBytes_AsString(bytes_input)
- jv_parser_set_buf(parser, cbytes_input, len(bytes_input), 0)
+ cdef char* cbytes_input
+ cdef ssize_t clen_input
+ PyBytes_AsStringAndSize(bytes_input, &cbytes_input, &clen_input)
+ jv_parser_set_buf(parser, cbytes_input, clen_input, 0)
self._parser = parser
def __iter__(self):