[EMAIL PROTECTED] > I'm fiddling with the "compile Python w/ C++" stuff and came across a number > of places where a function is defined as returning unsigned long or unsigned > long long but returns -1. For example, see PyInt_AsUnsignedLongMask. > What's the correct fix for that, return ~0 (assuming twos-complement > arithmetic), cast -1 to unsigned long?
Explicitly casting -1 is both the obvious and best way, and is guaranteed to "work as intended" by the standards. > Or does the API need to be changed somehow? Well, it's ubiquitous in Python that C API calls returning any kind of integer return -1 (and arrange to make PyErr_Occurred() return true) in case of error. This is clumsy when the integer retured is of an unsigned type, but it _is_ C we're talking about ;-) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com