mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-35059: Convert PyObject_INIT() to function (GH-10077)
* Convert PyObject_INIT() and PyObject_INIT_VAR() macros to static inline functions. * Fix usage of these functions: cast to PyObject* or PyVarObject*.
This commit is contained in:
parent
7cd2543416
commit
b4435e20a9
8 changed files with 33 additions and 16 deletions
|
@ -85,7 +85,7 @@ _PyBytes_FromSize(Py_ssize_t size, int use_calloc)
|
|||
op = (PyBytesObject *)PyObject_Malloc(PyBytesObject_SIZE + size);
|
||||
if (op == NULL)
|
||||
return PyErr_NoMemory();
|
||||
(void)PyObject_INIT_VAR(op, &PyBytes_Type, size);
|
||||
(void)PyObject_INIT_VAR((PyVarObject *)op, &PyBytes_Type, size);
|
||||
op->ob_shash = -1;
|
||||
if (!use_calloc)
|
||||
op->ob_sval[size] = '\0';
|
||||
|
@ -163,7 +163,7 @@ PyBytes_FromString(const char *str)
|
|||
op = (PyBytesObject *)PyObject_MALLOC(PyBytesObject_SIZE + size);
|
||||
if (op == NULL)
|
||||
return PyErr_NoMemory();
|
||||
(void)PyObject_INIT_VAR(op, &PyBytes_Type, size);
|
||||
(void)PyObject_INIT_VAR((PyVarObject *)op, &PyBytes_Type, size);
|
||||
op->ob_shash = -1;
|
||||
memcpy(op->ob_sval, str, size+1);
|
||||
/* share short strings */
|
||||
|
@ -1508,7 +1508,7 @@ bytes_repeat(PyBytesObject *a, Py_ssize_t n)
|
|||
op = (PyBytesObject *)PyObject_MALLOC(PyBytesObject_SIZE + nbytes);
|
||||
if (op == NULL)
|
||||
return PyErr_NoMemory();
|
||||
(void)PyObject_INIT_VAR(op, &PyBytes_Type, size);
|
||||
(void)PyObject_INIT_VAR((PyVarObject *)op, &PyBytes_Type, size);
|
||||
op->ob_shash = -1;
|
||||
op->ob_sval[size] = '\0';
|
||||
if (Py_SIZE(a) == 1 && n > 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue