From 8cf047647418999fb8cd0e99b005b5fae8f50a3c Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Sat, 2 Aug 1997 02:57:45 +0000 Subject: [PATCH] Added internal routine PyString_Fini() which deletes all interned strings. For use in Py_Finalize() only. --- Objects/stringobject.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 5e3f9fac2de..40dfc9ecd8a 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -1073,3 +1073,21 @@ PyString_InternFromString(cp) } #endif + +void +PyString_Fini() +{ + int i; +#ifdef INTERN_STRINGS + Py_XDECREF(interned); + interned = NULL; +#endif + for (i = 0; i < UCHAR_MAX + 1; i++) { + Py_XDECREF(characters[i]); + characters[i] = NULL; + } +#ifndef DONT_SHARE_SHORT_STRINGS + Py_XDECREF(nullstring); + nullstring = NULL; +#endif +}