static PyObject *field_dopywrap(PyTypeObject *ty, field *f)
{
- field_pyobj *fobj = newtype(ty, 0);
+ field_pyobj *fobj = newtype(ty, 0, f->ops->name);
fobj->f = f;
- fobj->ty.tp_name = (/*unconst*/ char *)f->ops->name;
- fobj->ty.tp_basicsize = sizeof(fe_pyobj);
- fobj->ty.tp_base = fe_pytype;
+ fobj->ty.type.tp_basicsize = sizeof(fe_pyobj);
+ fobj->ty.type.tp_base = fe_pytype;
Py_INCREF(fe_pytype);
- fobj->ty.tp_flags = (Py_TPFLAGS_DEFAULT |
- Py_TPFLAGS_BASETYPE |
- Py_TPFLAGS_CHECKTYPES |
- Py_TPFLAGS_HEAPTYPE);
- fobj->ty.tp_alloc = PyType_GenericAlloc;
- fobj->ty.tp_free = 0;
- fobj->ty.tp_new = fe_pynew;
- PyType_Ready(&fobj->ty);
+ fobj->ty.type.tp_flags = (Py_TPFLAGS_DEFAULT |
+ Py_TPFLAGS_BASETYPE |
+ Py_TPFLAGS_CHECKTYPES |
+ Py_TPFLAGS_HEAPTYPE);
+ fobj->ty.type.tp_alloc = PyType_GenericAlloc;
+ fobj->ty.type.tp_free = 0;
+ fobj->ty.type.tp_new = fe_pynew;
+ PyType_Ready(&fobj->ty.type);
return ((PyObject *)fobj);
}