diff Python/import.c @ 20671:3fb403eaede1 legacy-trunk

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.
author Fred Drake <fdrake@acm.org>
date Thu, 25 Oct 2001 21:38:59 +0000
parents edd9d0b3c47e
children 7b0546ee4789
line wrap: on
line diff
--- a/Python/import.c	Thu Oct 25 20:42:57 2001 +0000
+++ b/Python/import.c	Thu Oct 25 21:38:59 2001 +0000
@@ -392,7 +392,7 @@
 	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 @@
 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 @@
 	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);