From: Victor Stinner Date: Thu, 4 Oct 2012 00:32:58 +0000 (+0200) Subject: unicode_result_wchar(): move the assert() to the "#ifdef Py_DEBUG" block X-Git-Tag: v3.4.0a1~2390 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aa7712711d85ded84055d8deffa6177b7b763b0e;p=python unicode_result_wchar(): move the assert() to the "#ifdef Py_DEBUG" block --- diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 2481b96dda..98b10e9584 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -412,8 +412,6 @@ unicode_result_wchar(PyObject *unicode) #ifndef Py_DEBUG Py_ssize_t len; - assert(Py_REFCNT(unicode) == 1); - len = _PyUnicode_WSTR_LENGTH(unicode); if (len == 0) { Py_INCREF(unicode_empty); @@ -431,10 +429,12 @@ unicode_result_wchar(PyObject *unicode) } if (_PyUnicode_Ready(unicode) < 0) { - Py_XDECREF(unicode); + Py_DECREF(unicode); return NULL; } #else + assert(Py_REFCNT(unicode) == 1); + /* don't make the result ready in debug mode to ensure that the caller makes the string ready before using it */ assert(_PyUnicode_CheckConsistency(unicode, 1));