diff options
author | doko <doko@ubuntu.com> | 2017-01-31 13:35:56 +0100 |
---|---|---|
committer | doko <doko@ubuntu.com> | 2017-01-31 13:35:56 +0100 |
commit | b23072b8814146d3a76eb752fd7526eb1575e7cc (patch) | |
tree | cf13a75e5570561a10bf68c2c451e9271229a3be /Modules/_ctypes/_ctypes.c | |
parent | e0cb38ac4330d5e09b5e21c74c5d5e453af99a4f (diff) | |
parent | ccd19e48ec9d557231bf923c338be0e7509a51d3 (diff) | |
download | cpython-b23072b8814146d3a76eb752fd7526eb1575e7cc.tar.gz |
merge 3.6
Diffstat (limited to 'Modules/_ctypes/_ctypes.c')
-rw-r--r-- | Modules/_ctypes/_ctypes.c | 46 |
1 files changed, 18 insertions, 28 deletions
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index df3aedec6e..833749a1c5 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -156,8 +156,7 @@ _DictRemover_call(PyObject *myself, PyObject *args, PyObject *kw) Py_CLEAR(self->key); Py_CLEAR(self->dict); } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyTypeObject DictRemover_Type = { @@ -211,7 +210,7 @@ PyDict_SetItemProxy(PyObject *dict, PyObject *key, PyObject *item) PyObject *proxy; int result; - obj = PyObject_CallObject((PyObject *)&DictRemover_Type, NULL); + obj = _PyObject_CallNoArg((PyObject *)&DictRemover_Type); if (obj == NULL) return -1; @@ -373,7 +372,7 @@ StructUnionType_new(PyTypeObject *type, PyObject *args, PyObject *kwds, int isSt if (PyDict_GetItemString(result->tp_dict, "_abstract_")) return (PyObject *)result; - dict = (StgDictObject *)PyObject_CallObject((PyObject *)&PyCStgDict_Type, NULL); + dict = (StgDictObject *)_PyObject_CallNoArg((PyObject *)&PyCStgDict_Type); if (!dict) { Py_DECREF(result); return NULL; @@ -979,8 +978,7 @@ PyCPointerType_set_type(PyTypeObject *self, PyObject *type) if (-1 == PyDict_SetItemString((PyObject *)dict, "_type_", type)) return NULL; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static PyObject *_byref(PyObject *); @@ -1496,8 +1494,7 @@ c_wchar_p_from_param(PyObject *type, PyObject *value) PyObject *as_parameter; int res; if (value == Py_None) { - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } if (PyUnicode_Check(value)) { PyCArgObject *parg; @@ -1561,8 +1558,7 @@ c_char_p_from_param(PyObject *type, PyObject *value) PyObject *as_parameter; int res; if (value == Py_None) { - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } if (PyBytes_Check(value)) { PyCArgObject *parg; @@ -1629,8 +1625,7 @@ c_void_p_from_param(PyObject *type, PyObject *value) /* None */ if (value == Py_None) { - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } /* Should probably allow buffer interface as well */ /* int, long */ @@ -1835,7 +1830,7 @@ static PyCArgObject * PyCSimpleType_paramfunc(CDataObject *self) { StgDictObject *dict; - char *fmt; + const char *fmt; PyCArgObject *parg; struct fielddesc *fd; @@ -2045,7 +2040,7 @@ static PyObject * PyCSimpleType_from_param(PyObject *type, PyObject *value) { StgDictObject *dict; - char *fmt; + const char *fmt; PyCArgObject *parg; struct fielddesc *fd; PyObject *as_parameter; @@ -2602,8 +2597,7 @@ PyCData_setstate(PyObject *myself, PyObject *args) Py_DECREF(mydict); if (res == -1) return NULL; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } /* @@ -2825,8 +2819,7 @@ _PyCData_set(CDataObject *dst, PyObject *type, SETFUNC setfunc, PyObject *value, return result; } else if (value == Py_None && PyCPointerTypeObject_Check(type)) { *(void **)ptr = NULL; - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } else { PyErr_Format(PyExc_TypeError, "expected %s instance, got %s", @@ -2980,8 +2973,7 @@ PyCFuncPtr_get_errcheck(PyCFuncPtrObject *self) Py_INCREF(self->errcheck); return self->errcheck; } - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } static int @@ -3019,8 +3011,7 @@ PyCFuncPtr_get_restype(PyCFuncPtrObject *self) Py_INCREF(dict->restype); return dict->restype; } else { - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } } @@ -3057,8 +3048,7 @@ PyCFuncPtr_get_argtypes(PyCFuncPtrObject *self) Py_INCREF(dict->argtypes); return dict->argtypes; } else { - Py_INCREF(Py_None); - return Py_None; + Py_RETURN_NONE; } } @@ -3654,10 +3644,10 @@ _build_callargs(PyCFuncPtrObject *self, PyObject *argtypes, goto error; } if (PyCArrayTypeObject_Check(ob)) - ob = PyObject_CallObject(ob, NULL); + ob = _PyObject_CallNoArg(ob); else /* Create an instance of the pointed-to type */ - ob = PyObject_CallObject(dict->proto, NULL); + ob = _PyObject_CallNoArg(dict->proto); /* XXX Is the following correct any longer? We must not pass a byref() to the array then but @@ -3684,7 +3674,7 @@ _build_callargs(PyCFuncPtrObject *self, PyObject *argtypes, must be the same as len(inargs) + len(kwds), otherwise we have either too much or not enough arguments. */ - actual_args = PyTuple_GET_SIZE(inargs) + (kwds ? PyDict_Size(kwds) : 0); + actual_args = PyTuple_GET_SIZE(inargs) + (kwds ? PyDict_GET_SIZE(kwds) : 0); if (actual_args != inargs_index) { /* When we have default values or named parameters, this error message is misleading. See unittests/test_paramflags.py @@ -5258,7 +5248,7 @@ cast(void *ptr, PyObject *src, PyObject *ctype) CDataObject *result; if (0 == cast_check_pointertype(ctype)) return NULL; - result = (CDataObject *)PyObject_CallFunctionObjArgs(ctype, NULL); + result = (CDataObject *)_PyObject_CallNoArg(ctype); if (result == NULL) return NULL; |