}
static int
-buffered_traverse(buffered *self, visitproc visit, void *arg)
+buffered_traverse(PyObject *op, visitproc visit, void *arg)
{
+ buffered *self = buffered_CAST(op);
Py_VISIT(Py_TYPE(self));
Py_VISIT(self->raw);
Py_VISIT(self->dict);
}
static PyObject *
-buffered_iternext(buffered *self)
+buffered_iternext(PyObject *op)
{
+ buffered *self = buffered_CAST(op);
PyObject *line;
PyTypeObject *tp;
}
static void
-pickle_free(PyObject *m)
+pickle_free(void *m)
{
- _Pickle_ClearState(_Pickle_GetState(m));
+ _Pickle_ClearState(_Pickle_GetState((PyObject*)m));
}
static int
.m_slots = pickle_slots,
.m_traverse = pickle_traverse,
.m_clear = pickle_clear,
- .m_free = (freefunc)pickle_free,
+ .m_free = pickle_free,
};
PyMODINIT_FUNC
}
static int
-set_done(ThreadHandle *handle)
+set_done(void *arg)
{
+ ThreadHandle *handle = (ThreadHandle*)arg;
assert(get_thread_handle_state(handle) == THREAD_HANDLE_RUNNING);
if (detach_thread(handle) < 0) {
PyErr_SetString(ThreadError, "failed detaching handle");
return -1;
}
- if (_PyOnceFlag_CallOnce(&self->once, (_Py_once_fn_t *)set_done, self) ==
+ if (_PyOnceFlag_CallOnce(&self->once, set_done, self) ==
-1) {
return -1;
}
}
static PyObject *
-generic_init_subclass(PyTypeObject *cls, PyObject *args, PyObject *kwargs)
+generic_init_subclass(PyObject *cls, PyObject *args, PyObject *kwargs)
{
- return call_typing_args_kwargs("_generic_init_subclass", cls, args, kwargs);
+ return call_typing_args_kwargs("_generic_init_subclass",
+ (PyTypeObject*)cls, args, kwargs);
}
static PyObject *
-generic_class_getitem(PyTypeObject *cls, PyObject *args, PyObject *kwargs)
+generic_class_getitem(PyObject *cls, PyObject *args, PyObject *kwargs)
{
- return call_typing_args_kwargs("_generic_class_getitem", cls, args, kwargs);
+ return call_typing_args_kwargs("_generic_class_getitem",
+ (PyTypeObject*)cls, args, kwargs);
}
PyObject *
}
static void
-del_extensions_cache_value(struct extensions_cache_value *value)
+del_extensions_cache_value(void *raw)
{
+ struct extensions_cache_value *value = raw;
if (value != NULL) {
del_cached_m_dict(value);
del_cached_def(value);
hashtable_hash_str,
hashtable_compare_str,
hashtable_destroy_str, // key
- (_Py_hashtable_destroy_func)del_extensions_cache_value, // value
+ del_extensions_cache_value, // value
&alloc
);
if (EXTENSIONS.hashtable == NULL) {