@@ -34,6 +34,7 @@ PERFORMANCE OF THIS SOFTWARE.
34
34
#define my_bool _Bool
35
35
#endif
36
36
37
+ #define PY_SSIZE_T_CLEAN 1
37
38
#include "Python.h"
38
39
#if PY_MAJOR_VERSION >= 3
39
40
#define IS_PY3K
@@ -882,7 +883,8 @@ _mysql_escape_string(
882
883
{
883
884
PyObject * str ;
884
885
char * in , * out ;
885
- int len , size ;
886
+ int len ;
887
+ Py_ssize_t size ;
886
888
if (!PyArg_ParseTuple (args , "s#:escape_string" , & in , & size )) return NULL ;
887
889
str = PyBytes_FromStringAndSize ((char * ) NULL , size * 2 + 1 );
888
890
if (!str ) return PyErr_NoMemory ();
@@ -1102,7 +1104,7 @@ static PyObject *
1102
1104
_mysql_field_to_python (
1103
1105
PyObject * converter ,
1104
1106
const char * rowitem ,
1105
- unsigned long length ,
1107
+ Py_ssize_t length ,
1106
1108
MYSQL_FIELD * field ,
1107
1109
const char * encoding )
1108
1110
{
@@ -1157,10 +1159,10 @@ _mysql_field_to_python(
1157
1159
}
1158
1160
return PyObject_CallFunction (converter ,
1159
1161
binary ? "y#" : "s#" ,
1160
- rowitem , (int )length );
1162
+ rowitem , (Py_ssize_t )length );
1161
1163
#else
1162
1164
return PyObject_CallFunction (converter ,
1163
- "s#" , rowitem , (int )length );
1165
+ "s#" , rowitem , (Py_ssize_t )length );
1164
1166
#endif
1165
1167
}
1166
1168
@@ -1752,7 +1754,8 @@ _mysql_ConnectionObject_query(
1752
1754
PyObject * args )
1753
1755
{
1754
1756
char * query ;
1755
- int len , r ;
1757
+ Py_ssize_t len ;
1758
+ int r ;
1756
1759
if (!PyArg_ParseTuple (args , "s#:query" , & query , & len )) return NULL ;
1757
1760
check_connection (self );
1758
1761
@@ -1774,7 +1777,8 @@ _mysql_ConnectionObject_send_query(
1774
1777
PyObject * args )
1775
1778
{
1776
1779
char * query ;
1777
- int len , r ;
1780
+ Py_ssize_t len ;
1781
+ int r ;
1778
1782
MYSQL * mysql = & (self -> connection );
1779
1783
if (!PyArg_ParseTuple (args , "s#:query" , & query , & len )) return NULL ;
1780
1784
check_connection (self );
0 commit comments