Changeset 932


Ignore:
Timestamp:
Apr 22, 2018, 12:26:15 PM (8 months ago)
Author:
cito
Message:

Alternative workaround for Python 3.7 issue

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/pgmodule.c

    r931 r932  
    22252225                /* prepare arguments */
    22262226                PyObject        **str, **s;
    2227                 char            **parms, **p;
     2227                const char      **parms, **p;
    22282228                register int i;
    22292229
    22302230                str = (PyObject **)PyMem_Malloc(nparms * sizeof(*str));
    2231                 parms = (char **)PyMem_Malloc(nparms * sizeof(*parms));
     2231                parms = (const char **)PyMem_Malloc(nparms * sizeof(*parms));
    22322232                if (!str || !parms)
    22332233                {
    2234                         PyMem_Free(parms); PyMem_Free(str);
     2234                        PyMem_Free((void *)parms); PyMem_Free(str);
    22352235                        Py_XDECREF(query_obj); Py_XDECREF(param_obj);
    22362236                        return PyErr_NoMemory();
     
    22572257                                if (!str_obj)
    22582258                                {
    2259                                         PyMem_Free(parms);
     2259                                        PyMem_Free((void *)parms);
    22602260                                        while (s != str) { s--; Py_DECREF(*s); }
    22612261                                        PyMem_Free(str);
     
    22732273                                if (!str_obj)
    22742274                                {
    2275                                         PyMem_Free(parms);
     2275                                        PyMem_Free((void *)parms);
    22762276                                        while (s != str) { s--; Py_DECREF(*s); }
    22772277                                        PyMem_Free(str);
     
    22832283                                }
    22842284                                *s++ = str_obj;
    2285                                 *p = (char *)PyStr_AsString(str_obj);
     2285                                *p = PyStr_AsString(str_obj);
    22862286                        }
    22872287                }
     
    22892289                Py_BEGIN_ALLOW_THREADS
    22902290                result = PQexecParams(self->cnx, query, nparms,
    2291                         NULL, (const char * const *)parms, NULL, NULL, 0);
     2291                        NULL, parms, NULL, NULL, 0);
    22922292                Py_END_ALLOW_THREADS
    22932293
    2294                 PyMem_Free(parms);
     2294                PyMem_Free((void *)parms);
    22952295                while (s != str) { s--; Py_DECREF(*s); }
    22962296                PyMem_Free(str);
Note: See TracChangeset for help on using the changeset viewer.