Fix various minor errors in passing arguments to
PyArg_ParseTuple.
diff --git a/Modules/dbmmodule.c b/Modules/dbmmodule.c
index 9086c84..fa1fde2 100644
--- a/Modules/dbmmodule.c
+++ b/Modules/dbmmodule.c
@@ -208,11 +208,13 @@
 static PyObject *
 dbm_has_key(register dbmobject *dp, PyObject *args)
 {
+	char *tmp_ptr;
 	datum key, val;
 	int tmp_size;
 	
-	if (!PyArg_ParseTuple(args, "s#:has_key", &key.dptr, &tmp_size))
+	if (!PyArg_ParseTuple(args, "s#:has_key", &tmp_ptr, &tmp_size))
 		return NULL;
+	key.dptr = tmp_ptr;
 	key.dsize = tmp_size;
         check_dbmobject_open(dp);
 	val = dbm_fetch(dp->di_dbm, key);
@@ -224,11 +226,13 @@
 {
 	datum key, val;
 	PyObject *defvalue = Py_None;
+	char *tmp_ptr;
 	int tmp_size;
 
 	if (!PyArg_ParseTuple(args, "s#|O:get",
-                              &key.dptr, &tmp_size, &defvalue))
+                              &tmp_ptr, &tmp_size, &defvalue))
 		return NULL;
+	key.dptr = tmp_ptr;
 	key.dsize = tmp_size;
         check_dbmobject_open(dp);
 	val = dbm_fetch(dp->di_dbm, key);
@@ -245,11 +249,13 @@
 {
 	datum key, val;
 	PyObject *defvalue = NULL;
+	char *tmp_ptr;
 	int tmp_size;
 
 	if (!PyArg_ParseTuple(args, "s#|S:setdefault",
-                              &key.dptr, &tmp_size, &defvalue))
+                              &tmp_ptr, &tmp_size, &defvalue))
 		return NULL;
+	key.dptr = tmp_ptr;
 	key.dsize = tmp_size;
         check_dbmobject_open(dp);
 	val = dbm_fetch(dp->di_dbm, key);