summaryrefslogtreecommitdiff
path: root/Modules/_ctypes/_ctypes.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_ctypes/_ctypes.c')
-rw-r--r--Modules/_ctypes/_ctypes.c46
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;