Commit 9cd0efce authored by Fred Drake's avatar Fred Drake

Use PyDict_Copy() and PyDict_Update() instead of using PyObject_CallMethod()

to call the corresponding methods.  This is not a performance improvement
since the times are still swamped by disk I/O, but cleans up the code just
a little.
parent 61f79491
......@@ -392,7 +392,7 @@ _PyImport_FixupExtension(char *name, char *filename)
dict = PyModule_GetDict(mod);
if (dict == NULL)
return NULL;
copy = PyObject_CallMethod(dict, "copy", "");
copy = PyDict_Copy(dict);
if (copy == NULL)
return NULL;
PyDict_SetItemString(extensions, filename, copy);
......@@ -403,7 +403,7 @@ _PyImport_FixupExtension(char *name, char *filename)
PyObject *
_PyImport_FindExtension(char *name, char *filename)
{
PyObject *dict, *mod, *mdict, *result;
PyObject *dict, *mod, *mdict;
if (extensions == NULL)
return NULL;
dict = PyDict_GetItemString(extensions, filename);
......@@ -415,10 +415,8 @@ _PyImport_FindExtension(char *name, char *filename)
mdict = PyModule_GetDict(mod);
if (mdict == NULL)
return NULL;
result = PyObject_CallMethod(mdict, "update", "O", dict);
if (result == NULL)
if (PyDict_Update(mdict, dict))
return NULL;
Py_DECREF(result);
if (Py_VerboseFlag)
PySys_WriteStderr("import %s # previously loaded (%s)\n",
name, filename);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment