diff Objects/stringobject.c @ 81933:4d120cea3507 2.7

Issue #17034: Use Py_CLEAR() in stringobject.c.
author Serhiy Storchaka <storchaka@gmail.com>
date Sat, 02 Feb 2013 18:43:58 +0200
parents 5970c90dd8d1
children 391e3a7db1a3
line wrap: on
line diff
--- a/Objects/stringobject.c	Sat Feb 02 18:34:57 2013 +0200
+++ b/Objects/stringobject.c	Sat Feb 02 18:43:58 2013 +0200
@@ -3859,8 +3859,7 @@
     if (*pv == NULL)
         return;
     if (w == NULL || !PyString_Check(*pv)) {
-        Py_DECREF(*pv);
-        *pv = NULL;
+        Py_CLEAR(*pv);
         return;
     }
     v = string_concat((PyStringObject *) *pv, w);
@@ -4790,12 +4789,9 @@
 PyString_Fini(void)
 {
     int i;
-    for (i = 0; i < UCHAR_MAX + 1; i++) {
-        Py_XDECREF(characters[i]);
-        characters[i] = NULL;
-    }
-    Py_XDECREF(nullstring);
-    nullstring = NULL;
+    for (i = 0; i < UCHAR_MAX + 1; i++)
+        Py_CLEAR(characters[i]);
+    Py_CLEAR(nullstring);
 }
 
 void _Py_ReleaseInternedStrings(void)
@@ -4845,6 +4841,5 @@
                     "mortal/immortal\n", mortal_size, immortal_size);
     Py_DECREF(keys);
     PyDict_Clear(interned);
-    Py_DECREF(interned);
-    interned = NULL;
+    Py_CLEAR(interned);
 }