if (PyErr_Occurred()) return NULL; Py_INCREF(Py_None); return Py_None; } static struct PyMethodDef Writer_methods[] = { { "writerow", (PyCFunction)csv_writerow, METH_O, csv_writerow_doc}, { "writerows", (PyCFunction)csv_writerows, METH_O, csv_writerows_doc}, { NULL, NULL } }; #define W_OFF(x) offsetof(WriterObj, x) static struct PyMemberDef Writer_memberlist[] = { { "dialect", T_OBJECT, W_OFF(dialect), RO }, { NULL } }; static void Writer_dealloc(WriterObj *self) { PyObject_GC_UnTrack(self); Py_XDECREF(self->dialect); Py_XDECREF(self->writeline); if (self->rec != NULL) PyMem_Free(self->rec); PyObject_GC_Del(self); } static int
if (PyErr_Occurred()) return NULL; Py_INCREF(Py_None); return Py_None; } static struct PyMethodDef Writer_methods[] = { { "writerow", (PyCFunction)csv_writerow, METH_O, csv_writerow_doc}, { "writerows", (PyCFunction)csv_writerows, METH_O, csv_writerows_doc}, { NULL, NULL } }; #define W_OFF(x) offsetof(WriterObj, x) static struct PyMemberDef Writer_memberlist[] = { { "dialect", T_OBJECT, W_OFF(dialect), READONLY }, { NULL } }; static void Writer_dealloc(WriterObj *self) { PyObject_GC_UnTrack(self); Py_XDECREF(self->dialect); Py_XDECREF(self->writeline); if (self->rec != NULL) PyMem_Free(self->rec); PyObject_GC_Del(self); } static int