Title: [932] trunk/pgmodule.c: Alternative workaround for Python 3.7 issue
Revision
932
Author
cito
Date
2018-04-22 12:26:15 -0400 (Sun, 22 Apr 2018)

Log Message

Alternative workaround for Python 3.7 issue

Modified Paths


Diff

Modified: trunk/pgmodule.c (931 => 932)


--- trunk/pgmodule.c	2018-04-22 13:43:01 UTC (rev 931)
+++ trunk/pgmodule.c	2018-04-22 16:26:15 UTC (rev 932)
@@ -2224,14 +2224,14 @@
 	{
 		/* prepare arguments */
 		PyObject	**str, **s;
-		char		**parms, **p;
+		const char	**parms, **p;
 		register int i;
 
 		str = (PyObject **)PyMem_Malloc(nparms * sizeof(*str));
-		parms = (char **)PyMem_Malloc(nparms * sizeof(*parms));
+		parms = (const char **)PyMem_Malloc(nparms * sizeof(*parms));
 		if (!str || !parms)
 		{
-			PyMem_Free(parms); PyMem_Free(str);
+			PyMem_Free((void *)parms); PyMem_Free(str);
 			Py_XDECREF(query_obj); Py_XDECREF(param_obj);
 			return PyErr_NoMemory();
 		}
@@ -2256,7 +2256,7 @@
 				PyObject *str_obj = get_encoded_string(obj, encoding);
 				if (!str_obj)
 				{
-					PyMem_Free(parms);
+					PyMem_Free((void *)parms);
 					while (s != str) { s--; Py_DECREF(*s); }
 					PyMem_Free(str);
 					Py_XDECREF(query_obj);
@@ -2272,7 +2272,7 @@
 				PyObject *str_obj = PyObject_Str(obj);
 				if (!str_obj)
 				{
-					PyMem_Free(parms);
+					PyMem_Free((void *)parms);
 					while (s != str) { s--; Py_DECREF(*s); }
 					PyMem_Free(str);
 					Py_XDECREF(query_obj);
@@ -2282,16 +2282,16 @@
 					return NULL;
 				}
 				*s++ = str_obj;
-				*p = (char *)PyStr_AsString(str_obj);
+				*p = PyStr_AsString(str_obj);
 			}
 		}
 
 		Py_BEGIN_ALLOW_THREADS
 		result = PQexecParams(self->cnx, query, nparms,
-			NULL, (const char * const *)parms, NULL, NULL, 0);
+			NULL, parms, NULL, NULL, 0);
 		Py_END_ALLOW_THREADS
 
-		PyMem_Free(parms);
+		PyMem_Free((void *)parms);
 		while (s != str) { s--; Py_DECREF(*s); }
 		PyMem_Free(str);
 	}
_______________________________________________
PyGreSQL mailing list
[email protected]
https://mail.vex.net/mailman/listinfo.cgi/pygresql

Reply via email to