bpo-39573: Add Py_SET_TYPE() function (GH-18394)

Add Py_SET_TYPE() function to set the type of an object.
This commit is contained in:
Victor Stinner 2020-02-07 09:17:07 +01:00 committed by GitHub
parent daa9756cb6
commit d2ec81a8c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 77 additions and 48 deletions

View file

@ -882,10 +882,12 @@ PyWeakref_NewProxy(PyObject *ob, PyObject *callback)
if (result != NULL) {
PyWeakReference *prev;
if (PyCallable_Check(ob))
Py_TYPE(result) = &_PyWeakref_CallableProxyType;
else
Py_TYPE(result) = &_PyWeakref_ProxyType;
if (PyCallable_Check(ob)) {
Py_SET_TYPE(result, &_PyWeakref_CallableProxyType);
}
else {
Py_SET_TYPE(result, &_PyWeakref_ProxyType);
}
get_basic_refs(*list, &ref, &proxy);
if (callback == NULL) {
if (proxy != NULL) {