Added _struct._clearcache() for regression tests
diff --git a/Lib/struct.py b/Lib/struct.py
index 297e7d0..3784c05 100644
--- a/Lib/struct.py
+++ b/Lib/struct.py
@@ -1 +1,2 @@
 from _struct import *
+from _struct import _clearcache
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index 0cc0c57..1da6967 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -729,6 +729,7 @@
     linecache.clearcache()
     mimetypes._default_mime_types()
     filecmp._cache.clear()
+    struct._clearcache()
     doctest.master = None
 
     # Collect cyclic trash.
diff --git a/Modules/_struct.c b/Modules/_struct.c
index e3a8731..41cdca7 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -1851,11 +1851,11 @@
 /* ---- Standalone functions  ---- */
 
 #define MAXCACHE 100
+static PyObject *cache = NULL;
 
 static PyObject *
 cache_struct(PyObject *fmt)
 {
-	static PyObject *cache = NULL;
 	PyObject * s_object;
 
 	if (cache == NULL) {
@@ -1881,6 +1881,17 @@
 	return s_object;
 }
 
+PyDoc_STRVAR(clearcache_doc,
+"Clear the internal cache.");
+
+static PyObject *
+clearcache(PyObject *self)
+{
+	if (cache != NULL)
+		PyDict_Clear(cache);
+	Py_RETURN_NONE;
+}
+
 PyDoc_STRVAR(calcsize_doc,
 "Return size of C struct described by format string fmt.");
 
@@ -2006,6 +2017,7 @@
 }
 
 static struct PyMethodDef module_functions[] = {
+	{"_clearcache",	(PyCFunction)clearcache,	METH_NOARGS, 	clearcache_doc},
 	{"calcsize",	calcsize,	METH_O, 	calcsize_doc},
 	{"pack",	pack,		METH_VARARGS, 	pack_doc},
 	{"pack_into",	pack_into,	METH_VARARGS, 	pack_into_doc},