From: Guido van Rossum Date: Sat, 2 Aug 1997 02:57:45 +0000 (+0000) Subject: Added internal routine PyString_Fini() which deletes all interned X-Git-Tag: v1.5a3~158 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8cf047647418999fb8cd0e99b005b5fae8f50a3c;p=python Added internal routine PyString_Fini() which deletes all interned strings. For use in Py_Finalize() only. --- diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 5e3f9fac2d..40dfc9ecd8 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 +}