]> granicus.if.org Git - python/commitdiff
Use directly unicode_empty instead of PyUnicode_New(0, 0)
authorVictor Stinner <victor.stinner@haypocalc.com>
Sun, 11 Dec 2011 20:44:00 +0000 (21:44 +0100)
committerVictor Stinner <victor.stinner@haypocalc.com>
Sun, 11 Dec 2011 20:44:00 +0000 (21:44 +0100)
Objects/unicodeobject.c

index cc4da2a18df96a07e53bb1c9487d4b07cbb3e52a..591c81b8481bc8d68d5be92682199b6764cd6525 100644 (file)
@@ -2122,8 +2122,10 @@ PyObject *
 PyUnicode_FromWideChar(register const wchar_t *w, Py_ssize_t size)
 {
     if (w == NULL) {
-        if (size == 0)
-            return PyUnicode_New(0, 0);
+        if (size == 0) {
+            Py_INCREF(unicode_empty);
+            return unicode_empty;
+        }
         PyErr_BadInternalCall();
         return NULL;
     }
@@ -4557,7 +4559,8 @@ PyUnicode_DecodeUTF8Stateful(const char *s,
     if (size == 0) {
         if (consumed)
             *consumed = 0;
-        return (PyObject *)PyUnicode_New(0, 0);
+        Py_INCREF(unicode_empty);
+        return unicode_empty;
     }
 
     maxchar = utf8_max_char_size_and_char_count(s, size, &unicode_size);
@@ -12906,7 +12909,8 @@ unicode_subscript(PyObject* self, PyObject* item)
         }
 
         if (slicelength <= 0) {
-            return PyUnicode_New(0, 0);
+            Py_INCREF(unicode_empty);
+            return unicode_empty;
         } else if (start == 0 && step == 1 &&
                    slicelength == PyUnicode_GET_LENGTH(self) &&
                    PyUnicode_CheckExact(self)) {
@@ -13582,8 +13586,10 @@ unicode_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
     if (!PyArg_ParseTupleAndKeywords(args, kwds, "|Oss:str",
                                      kwlist, &x, &encoding, &errors))
         return NULL;
-    if (x == NULL)
-        return PyUnicode_New(0, 0);
+    if (x == NULL) {
+        Py_INCREF(unicode_empty);
+        return unicode_empty;
+    }
     if (encoding == NULL && errors == NULL)
         return PyObject_Str(x);
     else