mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-14 02:27:40 -04:00
Also handle Python long integers in addVarNumber.
This commit is contained in:
@ -207,6 +207,21 @@ PYTHON_METHOD_DEFINITION(ptNotify, addVarNumber, args)
|
|||||||
self->fThis->AddVarNull(name);
|
self->fThis->AddVarNull(name);
|
||||||
else if (PyInt_Check(number))
|
else if (PyInt_Check(number))
|
||||||
self->fThis->AddVarNumber(name, PyInt_AsLong(number));
|
self->fThis->AddVarNumber(name, PyInt_AsLong(number));
|
||||||
|
else if (PyLong_Check(number))
|
||||||
|
{
|
||||||
|
// try as int first
|
||||||
|
Int32 i = (Int32)PyLong_AsLong(number);
|
||||||
|
if (!PyErr_Occurred())
|
||||||
|
{
|
||||||
|
self->fThis->AddVarNumber(name, i);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// OverflowError, try float
|
||||||
|
PyErr_Clear();
|
||||||
|
self->fThis->AddVarNumber(name, (float)PyLong_AsDouble(number));
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (PyNumber_Check(number))
|
else if (PyNumber_Check(number))
|
||||||
{
|
{
|
||||||
PyObject* f = PyNumber_Float(number);
|
PyObject* f = PyNumber_Float(number);
|
||||||
|
Reference in New Issue
Block a user