diff Python/import.c @ 72848:81380082d216

Use identifier API for PyObject_GetAttrString.
author Martin v. Löwis <martin@v.loewis.de>
date Mon, 10 Oct 2011 18:11:30 +0200
parents 5e33219492bc
children 6358e5d29dea
line wrap: on
line diff
--- a/Python/import.c	Mon Oct 10 03:21:36 2011 +0200
+++ b/Python/import.c	Mon Oct 10 18:11:30 2011 +0200
@@ -154,7 +154,7 @@
 };
 
 static PyObject *initstr = NULL;
-
+_Py_identifier(__path__);
 
 /* Initialize things */
 
@@ -248,8 +248,9 @@
             PySys_WriteStderr("# can't import zipimport\n");
     }
     else {
-        PyObject *zipimporter = PyObject_GetAttrString(zimpimport,
-                                                       "zipimporter");
+        _Py_identifier(zipimporter);
+        PyObject *zipimporter = _PyObject_GetAttrId(zimpimport,
+                                                    &PyId_zipimporter);
         Py_DECREF(zimpimport);
         if (zipimporter == NULL) {
             PyErr_Clear(); /* No zipimporter object -- okay */
@@ -3203,7 +3204,7 @@
     PyObject *fullname;
     Py_ssize_t fromlist_len;
 
-    if (!PyObject_HasAttrString(mod, "__path__"))
+    if (!_PyObject_HasAttrId(mod, &PyId___path__))
         return 1;
 
     fromlist_len = PySequence_Size(fromlist);
@@ -3221,11 +3222,12 @@
         }
         if (PyUnicode_READ_CHAR(item, 0) == '*') {
             PyObject *all;
+            _Py_identifier(__all__);
             Py_DECREF(item);
             /* See if the package defines __all__ */
             if (recursive)
                 continue; /* Avoid endless recursion */
-            all = PyObject_GetAttrString(mod, "__all__");
+            all = _PyObject_GetAttrId(mod, &PyId___all__);
             if (all == NULL)
                 PyErr_Clear();
             else {
@@ -3313,7 +3315,7 @@
     if (mod == Py_None)
         path_list = NULL;
     else {
-        path_list = PyObject_GetAttrString(mod, "__path__");
+        path_list = _PyObject_GetAttrId(mod, &PyId___path__);
         if (path_list == NULL) {
             PyErr_Clear();
             Py_INCREF(Py_None);
@@ -3424,7 +3426,7 @@
             goto error;
         }
         Py_DECREF(parentname);
-        path_list = PyObject_GetAttrString(parent, "__path__");
+        path_list = _PyObject_GetAttrId(parent, &PyId___path__);
         if (path_list == NULL)
             PyErr_Clear();
         subname++;