Neal Norwitz wrote:
> I checked in this fix for the __index__ clipping issue that's been
> discussed. This patch is an improvement, but still needs some work.
> Please pull out any parts you have an issue with and suggest a patch
> to address your concern.
>
For me the only remaining concern is that quite often in the code we do this
if (PyIndex_Check(obj)) {
...
key = PyNumber_Index(obj);
or
key_value = PyNumber_AsSize_t(obj, ...)
}
else {remaining checks}
Internally PyNumber_AsSize_t makes a call to PyNumber_Index, and
PyNumber_Index also calls the PyIndex_Check as well . So, basically we
end up calling PyIndex_Check(obj) 2 times when only one check should be
necessary.
This code could be re-written to move any other type checks first and
replace the PyIndex_Check(obj) code with PyNumber_Index(obj) and error
handling but I'm not sure if that's the right way to go or if it's worth
it.
-Travis Oliphant
_______________________________________________
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