Author: tross
Date: Wed Jan 26 20:21:00 2011
New Revision: 1063862
URL: http://svn.apache.org/viewvc?rev=1063862&view=rev
Log:
Change order of Py<type>_check calls in typemap.
It turns out that PyInt_Check returns 'True' for booleans.
The order of the checks is now from most specific to least.
Modified:
qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i
Modified: qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i?rev=1063862&r1=1063861&r2=1063862&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i (original)
+++ qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i Wed Jan 26 20:21:00 2011
@@ -32,11 +32,11 @@ typedef int Py_ssize_t;
void PyToList(PyObject*, qpid::types::Variant::List*);
qpid::types::Variant PyToVariant(PyObject* value) {
+ if (PyBool_Check(value)) return
qpid::types::Variant(bool(PyInt_AS_LONG(value) ? true : false));
if (PyFloat_Check(value)) return
qpid::types::Variant(PyFloat_AS_DOUBLE(value));
- if (PyString_Check(value)) return
qpid::types::Variant(std::string(PyString_AS_STRING(value)));
if (PyInt_Check(value)) return
qpid::types::Variant(int64_t(PyInt_AS_LONG(value)));
if (PyLong_Check(value)) return
qpid::types::Variant(int64_t(PyLong_AsLongLong(value)));
- if (PyBool_Check(value)) return
qpid::types::Variant(bool(PyInt_AS_LONG(value) ? true : false));
+ if (PyString_Check(value)) return
qpid::types::Variant(std::string(PyString_AS_STRING(value)));
if (PyDict_Check(value)) {
qpid::types::Variant::Map map;
PyToMap(value, &map);
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]