[Python-Dev] Fwd: [Python-checkins] r51236 - in python/trunk: Doc/api/abstract.tex Include/abstract.h Include/object.h Lib/test/test_index.py Misc/NEWS Modules/arraymodule.c Modules/mmapmodule.c Modules/operator.c Objects/abstract.c Objects/classobject.c Objects/ (original) (raw)

Travis E. Oliphant oliphant.travis at ieee.org
Sat Aug 12 22:16:23 CEST 2006


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



More information about the Python-Dev mailing list