correct static string clearing loop (closes #16906)
This commit is contained in:
parent
7131749959
commit
0c270a8bb7
|
@ -12,6 +12,9 @@ What's New in Python 3.3.1?
|
|||
Core and Builtins
|
||||
-----------------
|
||||
|
||||
- Issue #16906: Fix a logic error that prevented most static strings from being
|
||||
cleared.
|
||||
|
||||
- Issue #11461: Fix the incremental UTF-16 decoder. Original patch by
|
||||
Amaury Forgeot d'Arc.
|
||||
|
||||
|
|
|
@ -1826,12 +1826,15 @@ _PyUnicode_FromId(_Py_Identifier *id)
|
|||
void
|
||||
_PyUnicode_ClearStaticStrings()
|
||||
{
|
||||
_Py_Identifier *i;
|
||||
for (i = static_strings; i; i = i->next) {
|
||||
Py_DECREF(i->object);
|
||||
i->object = NULL;
|
||||
i->next = NULL;
|
||||
_Py_Identifier *tmp, *s = static_strings;
|
||||
while (s) {
|
||||
Py_DECREF(s->object);
|
||||
s->object = NULL;
|
||||
tmp = s->next;
|
||||
s->next = NULL;
|
||||
s = tmp;
|
||||
}
|
||||
static_strings = NULL;
|
||||
}
|
||||
|
||||
/* Internal function, doesn't check maximum character */
|
||||
|
|
Loading…
Reference in New Issue