Mercurial > p > mysql-python > mysqldb-2
diff _mysql_results.c @ 42:fdf0cabb27be MySQLdb
Member stuff is stable post py2.2, so remove the MyMember* workarounds
author | kylev |
---|---|
date | Tue, 17 Feb 2009 05:55:24 +0000 |
parents | 9863f08a337c |
children | 2b9a9814daab |
line wrap: on
line diff
--- a/_mysql_results.c Sun Feb 15 07:56:43 2009 +0000 +++ b/_mysql_results.c Tue Feb 17 05:55:24 2009 +0000 @@ -1,3 +1,5 @@ +/* -*- mode: C; indent-tabs-mode: t; c-basic-offset: 8; -*- */ + #include "_mysql.h" static char _mysql_ResultObject__doc__[] = @@ -623,14 +625,14 @@ {NULL, NULL} /* sentinel */ }; -static MyMemberlist(_mysql_ResultObject_memberlist)[] = { - MyMember( +static struct PyMemberDef _mysql_ResultObject_memberlist[] = { + { "converter", T_OBJECT, - offsetof(_mysql_ResultObject,converter), + offsetof(_mysql_ResultObject, converter), RO, "Type conversion mapping" - ), + }, {NULL} /* Sentinel */ }; @@ -640,24 +642,20 @@ char *name) { PyObject *res; + struct PyMemberDef *l; res = Py_FindMethod(_mysql_ResultObject_methods, (PyObject *)self, name); if (res != NULL) return res; PyErr_Clear(); -#if PY_VERSION_HEX < 0x02020000 - return PyMember_Get((char *)self, _mysql_ResultObject_memberlist, name); -#else - { - MyMemberlist(*l); - for (l = _mysql_ResultObject_memberlist; l->name != NULL; l++) { - if (strcmp(l->name, name) == 0) - return PyMember_GetOne((char *)self, l); - } - PyErr_SetString(PyExc_AttributeError, name); - return NULL; + + for (l = _mysql_ResultObject_memberlist; l->name != NULL; l++) { + if (strcmp(l->name, name) == 0) + return PyMember_GetOne((char *)self, l); } -#endif + + PyErr_SetString(PyExc_AttributeError, name); + return NULL; } static int @@ -666,23 +664,20 @@ char *name, PyObject *v) { + struct PyMemberDef *l; + if (v == NULL) { PyErr_SetString(PyExc_AttributeError, "can't delete connection attributes"); return -1; } -#if PY_VERSION_HEX < 0x02020000 - return PyMember_Set((char *)self, _mysql_ResultObject_memberlist, name, v); -#else - { - MyMemberlist(*l); - for (l = _mysql_ResultObject_memberlist; l->name != NULL; l++) - if (strcmp(l->name, name) == 0) - return PyMember_SetOne((char *)self, l, v); - } + + for (l = _mysql_ResultObject_memberlist; l->name != NULL; l++) + if (strcmp(l->name, name) == 0) + return PyMember_SetOne((char *)self, l, v); + PyErr_SetString(PyExc_AttributeError, name); return -1; -#endif } PyTypeObject _mysql_ResultObject_Type = { @@ -748,10 +743,10 @@ /* Iterators */ 0, /* (getiterfunc) tp_iter */ 0, /* (iternextfunc) tp_iternext */ - + /* Attribute descriptor and subclassing stuff */ - (struct PyMethodDef *) _mysql_ResultObject_methods, /* tp_methods */ - (MyMemberlist(*)) _mysql_ResultObject_memberlist, /*tp_members */ + (struct PyMethodDef *)_mysql_ResultObject_methods, /* tp_methods */ + (struct PyMemberDef *)_mysql_ResultObject_memberlist, /*tp_members */ 0, /* (struct getsetlist *) tp_getset; */ 0, /* (struct _typeobject *) tp_base; */ 0, /* (PyObject *) tp_dict */