summaryrefslogtreecommitdiff
path: root/qpid/cpp/bindings
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2011-01-26 20:21:00 +0000
committerTed Ross <tross@apache.org>2011-01-26 20:21:00 +0000
commita235cd50b4ab18082b695d3f784c846e41ced5ee (patch)
tree9d04bcfd2745720ebc376525add998a134f1384a /qpid/cpp/bindings
parentaf701f4c1fb4954d96dd1db3a6cda90a7fd25858 (diff)
downloadqpid-python-a235cd50b4ab18082b695d3f784c846e41ced5ee.tar.gz
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. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1063862 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/bindings')
-rw-r--r--qpid/cpp/bindings/swig_python_typemaps.i4
1 files changed, 2 insertions, 2 deletions
diff --git a/qpid/cpp/bindings/swig_python_typemaps.i b/qpid/cpp/bindings/swig_python_typemaps.i
index a233641940..b69784a6de 100644
--- a/qpid/cpp/bindings/swig_python_typemaps.i
+++ b/qpid/cpp/bindings/swig_python_typemaps.i
@@ -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);