From 287a8ae762fd3e6d532cda7b899d08ec9859f84a Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 21 Apr 2025 12:33:50 +0000 Subject: [PATCH] Fix compatibility with Cython 3.1. Fixes #96 --- fastbencode/_bencode_pyx.pyx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/fastbencode/_bencode_pyx.pyx b/fastbencode/_bencode_pyx.pyx index 651f09f..c526b19 100644 --- a/fastbencode/_bencode_pyx.pyx +++ b/fastbencode/_bencode_pyx.pyx @@ -31,16 +31,13 @@ from cpython.bytes cimport ( from cpython.dict cimport ( PyDict_CheckExact, ) -from cpython.int cimport ( - PyInt_CheckExact, - PyInt_FromString, - ) from cpython.list cimport ( PyList_CheckExact, PyList_Append, ) from cpython.long cimport ( PyLong_CheckExact, + PyLong_FromString, ) from cpython.mem cimport ( PyMem_Free, @@ -165,7 +162,7 @@ cdef class Decoder: i = self._read_digits(c'e') self.tail[i] = 0 try: - ret = PyInt_FromString(self.tail, NULL, 10) + ret = PyLong_FromString(self.tail, NULL, 10) finally: self.tail[i] = c'e' D_UPDATE_TAIL(self, i+1) @@ -414,7 +411,7 @@ cdef class Encoder: try: if PyBytes_CheckExact(x): self._encode_bytes(x) - elif PyInt_CheckExact(x) and x.bit_length() < 32: + elif PyLong_CheckExact(x) and x.bit_length() < 32: self._encode_int(x) elif PyLong_CheckExact(x): self._encode_long(x)