On Sat, Apr 29, 2000 at 02:50:07PM +0200, M.-A. Lemburg wrote: > Here is another one... I don't really like it because I think that > silent truncations are a bad idea, but to make things "just work > it would help: > > * Change PyArg_ParseTuple() to truncate the range(INT_MAX+1, LONG_MAX+1) > to INT_MAX and the same for negative numbers when passing a > Python integer to a "i" marked variable. This would map > range(INT_MAX+1, LONG_MAX+1) to INT_MAX and thus sys.maxint > would turn out as INT_MAX in all those cases where "i" is > used as parser marker. Dito for negative values. > > With this truncation passing sys.maxint as default argument > for length parameters would "just work" :-). > > The more radical alternative would be changing the Python > object length fields to long -- I don't think this is If we *do* make this change however, say "size_t" please, rather than long because on Win64 sizeof(long) < sizeof(size_t) == sizeof(void*). > practical though (and probably not really needed unless > you intend to work with 3GB strings ;). I know that 3GB+ strings are not likely to come along but if the length fields were size_t it would clean up implicit downcasts that you currently get from size_t to int on calls to strlen and the like on 64-bit systems. Trent
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4