diff options
Diffstat (limited to 'python/modules/IcePy/Operation.cpp')
-rw-r--r-- | python/modules/IcePy/Operation.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/python/modules/IcePy/Operation.cpp b/python/modules/IcePy/Operation.cpp index 01741df2ccb..47dab4af475 100644 --- a/python/modules/IcePy/Operation.cpp +++ b/python/modules/IcePy/Operation.cpp @@ -1035,7 +1035,7 @@ void IcePy::ParamInfo::unmarshaled(PyObject* val, PyObject* target, void* closure) { assert(PyTuple_Check(target)); - long i = reinterpret_cast<long>(closure); + Py_ssize_t i = reinterpret_cast<Py_ssize_t>(closure); PyTuple_SET_ITEM(target, i, val); Py_INCREF(val); // PyTuple_SET_ITEM steals a reference. } @@ -1654,7 +1654,7 @@ IcePy::TypedInvocation::unmarshalResults(const pair<const Ice::Byte*, const Ice: ParamInfoPtr info = *p; if(!info->optional) { - void* closure = reinterpret_cast<void*>(info->pos); + void* closure = reinterpret_cast<void*>(static_cast<Py_ssize_t>(info->pos)); info->type->unmarshal(is, info, results.get(), closure, false, &info->metaData); } } @@ -1665,7 +1665,7 @@ IcePy::TypedInvocation::unmarshalResults(const pair<const Ice::Byte*, const Ice: if(_op->returnType && !_op->returnType->optional) { assert(_op->returnType->pos == 0); - void* closure = reinterpret_cast<void*>(_op->returnType->pos); + void* closure = reinterpret_cast<void*>(static_cast<Py_ssize_t>(_op->returnType->pos)); _op->returnType->type->unmarshal(is, _op->returnType, results.get(), closure, false, &_op->metaData); } @@ -1677,7 +1677,7 @@ IcePy::TypedInvocation::unmarshalResults(const pair<const Ice::Byte*, const Ice: ParamInfoPtr info = *p; if(is->readOptional(info->tag, info->type->optionalFormat())) { - void* closure = reinterpret_cast<void*>(info->pos); + void* closure = reinterpret_cast<void*>(static_cast<Py_ssize_t>(info->pos)); info->type->unmarshal(is, info, results.get(), closure, true, &info->metaData); } else |