load_counted_long():  Changed a ValueError to an UnpicklingError, just
because it seems more consistent with the rest of the code.

cPickle_PyMapping_HasKey():  This extern function isn't used anywhere in
Python or Zope, so got rid of it.
diff --git a/Modules/cPickle.c b/Modules/cPickle.c
index 49e7271..10f65d6 100644
--- a/Modules/cPickle.c
+++ b/Modules/cPickle.c
@@ -360,20 +360,6 @@
 static int save(Picklerobject *, PyObject *, int);
 static int put2(Picklerobject *, PyObject *);
 
-int
-cPickle_PyMapping_HasKey(PyObject *o, PyObject *key)
-{
-	PyObject *v;
-
-	if ((v = PyObject_GetItem(o,key))) {
-		Py_DECREF(v);
-		return 1;
-	}
-
-	PyErr_Clear();
-	return 0;
-}
-
 static
 PyObject *
 cPickle_ErrFormat(PyObject *ErrType, char *stringformat, char *format, ...)
@@ -3022,7 +3008,7 @@
 		/* Corrupt or hostile pickle -- we never write one like
 		 * this.
 		 */
-		PyErr_SetString(PyExc_ValueError, "LONG pickle has negative "
+		PyErr_SetString(UnpicklingError, "LONG pickle has negative "
 				"byte count");
 		return -1;
 	}