pkgsrc/net/py-omniORBpy/patches/patch-modules_pyFixed.cc
joerg 59f8e1e2be long is ambiguous for creating Fixed values on 64bit systems, so use
LongLong for the intermediate and let the compiler figure out how to
cast to it from long.
2015-12-25 20:09:28 +00:00

31 lines
1 KiB
C++

$NetBSD: patch-modules_pyFixed.cc,v 1.1 2015/12/25 20:09:28 joerg Exp $
--- modules/pyFixed.cc.orig 2015-12-25 19:52:09.000000000 +0000
+++ modules/pyFixed.cc
@@ -99,7 +99,7 @@ omniPy::newFixedObject(PyObject* self, P
return omniPy::newFixedObject(f);
}
else if (PyInt_Check(pyv)) {
- long l = PyInt_AsLong(pyv);
+ CORBA::LongLong l = PyInt_AsLong(pyv);
CORBA::Fixed f(l);
return omniPy::newFixedObject(f);
}
@@ -138,7 +138,7 @@ omniPy::newFixedObject(PyObject* self, P
// an integer value, then hack the scale to be correct.
if (PyInt_Check(pyv)) {
- long l = PyInt_AsLong(pyv);
+ CORBA::LongLong l = PyInt_AsLong(pyv);
CORBA::Fixed f(l);
f.PR_changeScale(scale);
f.PR_setLimits(digits, scale);
@@ -368,7 +368,7 @@ extern "C" {
fixed_coerce(PyObject** pv, PyObject** pw)
{
if (PyInt_Check(*pw)) {
- long l = PyInt_AsLong(*pw);
+ CORBA::LongLong l = PyInt_AsLong(*pw);
CORBA::Fixed f(l);
*pw = omniPy::newFixedObject(f);
Py_INCREF(*pv);