[A.M. Kuchling] > Is it possible that some other Python API call is raising an > exception, but a NULL return isn't being checked for, and > PyInt_FromLong() happens to be the first bit of code that does 'if > (PyErr_Occurred())'? Though from a quick glance at > PyInt_FromLong() and the macros it uses, I don't see any > references to PyErr_Occurred()...
A long stare wouldn't uncover any either <wink>. This isn't it. That 1 is passed as an argument is important too, which cuts out all but the simplest path thru this code. The (current Zope 2.7 branch) source for cAccessControl.c contains six calls to PyInt_FromLong(). Five of them pass the literal 1. The other passes a variable with value -1, 0, or 1. So regardless of which of these Andreas is talking about, it's going thru PyInt_FromLong's fast path. _______________________________________________ Python-Dev mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com