A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2006-April/063822.html below:

[Python-Dev] Returning -1 from function with unsigned long type

[Python-Dev] Returning -1 from function with unsigned long type [Python-Dev] Returning -1 from function with unsigned long typeTim Peters tim.peters at gmail.com
Mon Apr 17 23:48:10 CEST 2006
[skip at pobox.com]

> 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 ;-)
More information about the Python-Dev mailing list

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