Serhiy Storchaka <[email protected]> added the comment:
There was no much need of this feature. In rare cases when we needed to build a
bool in Py_BuildValue (I have found only 2 cases in the stdlib, and one of them
is added by me) we use the following idiom:
Py_BuildValue("...O...", ..., expr ? Py_True : Py_False, ...)
You can have a temptation to write it as
Py_BuildValue("...p...", ..., expr, ...)
but there is a catch -- the arguments should be a C int. If it is not, you can
break a stack. Explicit cast to int ("(int)expr") is not always correct, so you
will need to write "expr ? 1 : 0" which is not much better than "expr ? Py_True
: Py_False".
----------
nosy: +serhiy.storchaka
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue45325>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com