[Python-checkins] cpython (2.7): Issue #17034: Use Py_CLEAR() in stringobject.c.

serhiy.storchaka python-checkins at python.org
Sat Feb 2 17:48:22 CET 2013


http://hg.python.org/cpython/rev/4d120cea3507
changeset:   81933:4d120cea3507
branch:      2.7
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Sat Feb 02 18:43:58 2013 +0200
summary:
  Issue #17034: Use Py_CLEAR() in stringobject.c.

files:
  Objects/stringobject.c |  15 +++++----------
  1 files changed, 5 insertions(+), 10 deletions(-)


diff --git a/Objects/stringobject.c b/Objects/stringobject.c
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -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);
 }

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list