]> granicus.if.org Git - python/commitdiff
Issue #19512: pickle now uses an identifier to only create the Unicode string
authorVictor Stinner <victor.stinner@gmail.com>
Wed, 6 Nov 2013 21:40:41 +0000 (22:40 +0100)
committerVictor Stinner <victor.stinner@gmail.com>
Wed, 6 Nov 2013 21:40:41 +0000 (22:40 +0100)
"modules" once

Modules/_pickle.c

index a14a258fec7a26726ed176b05db3b73068b174d5..75b0441f93706ede8d22798cf6a6970491d71a59 100644 (file)
@@ -136,6 +136,8 @@ static PyObject *empty_tuple = NULL;
 /* For looking up name pairs in copyreg._extension_registry. */
 static PyObject *two_tuple = NULL;
 
+_Py_IDENTIFIER(modules);
+
 static int
 stack_underflow(void)
 {
@@ -1363,7 +1365,7 @@ whichmodule(PyObject *global, PyObject *global_name)
         return NULL;
 
   search:
-    modules_dict = PySys_GetObject("modules");
+    modules_dict = _PySys_GetObjectId(&PyId_modules);
     if (modules_dict == NULL) {
         PyErr_SetString(PyExc_RuntimeError, "unable to get sys.modules");
         return NULL;
@@ -5548,7 +5550,7 @@ Unpickler_find_class(UnpicklerObject *self, PyObject *args)
         }
     }
 
-    modules_dict = PySys_GetObject("modules");
+    modules_dict = _PySys_GetObjectId(&PyId_modules);
     if (modules_dict == NULL) {
         PyErr_SetString(PyExc_RuntimeError, "unable to get sys.modules");
         return NULL;