Simplify, and avoid PyModule_GetDict() while we're at it.
diff --git a/Python/importdl.c b/Python/importdl.c
index 9255bbf..c2400f7 100644
--- a/Python/importdl.c
+++ b/Python/importdl.c
@@ -21,7 +21,7 @@
 PyObject *
 _PyImport_LoadDynamicModule(char *name, char *pathname, FILE *fp)
 {
-	PyObject *m, *d, *s;
+	PyObject *m;
 	char *lastdot, *shortname, *packagecontext, *oldcontext;
 	dl_funcptr p;
 
@@ -64,11 +64,8 @@
 		return NULL;
 	}
 	/* Remember the filename as the __file__ attribute */
-	d = PyModule_GetDict(m);
-	s = PyString_FromString(pathname);
-	if (s == NULL || PyDict_SetItemString(d, "__file__", s) != 0)
+	if (PyModule_AddStringConstant(m, "__file__", pathname) < 0)
 		PyErr_Clear(); /* Not important enough to report */
-	Py_XDECREF(s);
 	if (Py_VerboseFlag)
 		PySys_WriteStderr(
 			"import %s # dynamically loaded from %s\n",