Make use of METH_O and METH_NOARGS where possible.
Use Py_UnpackTuple instead of PyArg_ParseTuple where possible.
diff --git a/Modules/dbmmodule.c b/Modules/dbmmodule.c
index 8bfbbcd..9086c84 100644
--- a/Modules/dbmmodule.c
+++ b/Modules/dbmmodule.c
@@ -168,10 +168,8 @@
 };
 
 static PyObject *
-dbm__close(register dbmobject *dp, PyObject *args)
+dbm__close(register dbmobject *dp, PyObject *unused)
 {
-	if (!PyArg_ParseTuple(args, ":close"))
-		return NULL;
         if (dp->di_dbm)
 		dbm_close(dp->di_dbm);
 	dp->di_dbm = NULL;
@@ -180,14 +178,12 @@
 }
 
 static PyObject *
-dbm_keys(register dbmobject *dp, PyObject *args)
+dbm_keys(register dbmobject *dp, PyObject *unused)
 {
 	register PyObject *v, *item;
 	datum key;
 	int err;
 
-	if (!PyArg_ParseTuple(args, ":keys"))
-		return NULL;
         check_dbmobject_open(dp);
 	v = PyList_New(0);
 	if (v == NULL)
@@ -277,9 +273,9 @@
 }
 
 static PyMethodDef dbm_methods[] = {
-	{"close",	(PyCFunction)dbm__close,	METH_VARARGS,
+	{"close",	(PyCFunction)dbm__close,	METH_NOARGS,
 	 "close()\nClose the database."},
-	{"keys",	(PyCFunction)dbm_keys,		METH_VARARGS,
+	{"keys",	(PyCFunction)dbm_keys,		METH_NOARGS,
 	 "keys() -> list\nReturn a list of all keys in the database."},
 	{"has_key",	(PyCFunction)dbm_has_key,	METH_VARARGS,
 	 "has_key(key} -> boolean\nReturn true iff key is in the database."},