diff Modules/structmodule.c @ 6367:2c29b8982643 legacy-trunk

Apply two changes, systematically: (1) Use PyErr_NewException("module.class", NULL, NULL) to create the exception object. (2) Remove all calls to Py_FatalError(); instead, return or ignore the errors -- the import code now checks PyErr_Occurred() after calling a module's init function, so it's no longer a fatal error for the initialization to fail. Also did some small cleanups, e.g. removed unnecessary test for "already initialized" from initfpectl(), and unified initposix()/initnt(). I haven't checked this very thoroughly, so while the changes are pretty trivial -- beware of untested code!
author Guido van Rossum <guido@python.org>
date Wed, 01 Oct 1997 04:29:29 +0000
parents ab64344e87db
children bdd4cb2a83b5
line wrap: on
line diff
--- a/Modules/structmodule.c	Tue Sep 30 22:14:39 1997 +0000
+++ b/Modules/structmodule.c	Wed Oct 01 04:29:29 1997 +0000
@@ -1298,10 +1298,8 @@
 
 	/* Add some symbolic constants to the module */
 	d = PyModule_GetDict(m);
-	StructError = PyString_FromString("struct.error");
+	StructError = PyErr_NewException("struct.error", NULL, NULL);
+	if (StructError == NULL)
+		return;
 	PyDict_SetItemString(d, "error", StructError);
-
-	/* Check for errors */
-	if (PyErr_Occurred())
-		Py_FatalError("can't initialize module struct");
 }