diff Objects/typeobject.c @ 50884:e14ec6d18ab8

Merged revisions 68568,68665 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r68568 | georg.brandl | 2009-01-13 02:11:07 -0600 (Tue, 13 Jan 2009) | 2 lines Fix call signature and markup. ........ r68665 | amaury.forgeotdarc | 2009-01-17 11:11:50 -0600 (Sat, 17 Jan 2009) | 3 lines #4930: Slightly cleaner (and faster) code in type creation: compare slots by address, not by name. ........
author Benjamin Peterson <benjamin@python.org>
date Sun, 18 Jan 2009 22:10:38 +0000
parents df3fa40fdbed
children 9ca34c18e1bd
line wrap: on
line diff
--- a/Objects/typeobject.c	Sun Jan 18 21:12:58 2009 +0000
+++ b/Objects/typeobject.c	Sun Jan 18 22:10:38 2009 +0000
@@ -5650,7 +5650,7 @@
 		else if (Py_TYPE(descr) == &PyCFunction_Type &&
 			 PyCFunction_GET_FUNCTION(descr) ==
 			 (PyCFunction)tp_new_wrapper &&
-			 strcmp(p->name, "__new__") == 0)
+			 ptr == (void**)&type->tp_new)
 		{
 			/* The __new__ wrapper is not a wrapper descriptor,
 			   so must be special-cased differently.
@@ -5670,7 +5670,7 @@
 			   point out a bug in this reasoning a beer. */
 		}
 		else if (descr == Py_None &&
-			 strcmp(p->name, "__hash__") == 0) {
+			 ptr == (void**)&type->tp_hash) {
 			/* We specifically allow __hash__ to be set to None
 			   to prevent inheritance of the default
 			   implementation from object.__hash__ */