From d295b8da7ca28d08a31cc7e9338b57f889e998a1 Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Thu, 6 Oct 2011 10:54:11 -0300 Subject: Fix string. --- libshiboken/sbkstring.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libshiboken/sbkstring.cpp b/libshiboken/sbkstring.cpp index c20c487e7..a16fa3845 100644 --- a/libshiboken/sbkstring.cpp +++ b/libshiboken/sbkstring.cpp @@ -73,28 +73,32 @@ const char* toCString(PyObject* str) if (str == Py_None) return NULL; #if PY_MAJOR_VERSION >= 3 - return _PyUnicode_AsString(str); + if (PyUnicode_Check(str)) + return _PyUnicode_AsString(str); #else - return PyBytes_AS_STRING(str); + if (PyString_Check(str)) + return PyString_AS_STRING(str); #endif + if (PyBytes_Check(str)) + return PyBytes_AsString(str); } bool concat(PyObject** val1, PyObject* val2) { - if (PyUnicode_Check(val1) && PyUnicode_Check(val2)) { + if (PyUnicode_Check(*val1) && PyUnicode_Check(val2)) { PyObject* result = PyUnicode_Concat(*val1, val2); Py_DECREF(*val1); *val1 = result; return true; } - if (PyBytes_Check(val1) && PyBytes_Check(val2)) { + if (PyBytes_Check(*val1) && PyBytes_Check(val2)) { PyBytes_Concat(val1, val2); return true; } #if PY_MAJOR_VERSION < 3 - if (PyString_Check(val1) && PyString_Check(val2)) { + if (PyString_Check(*val1) && PyString_Check(val2)) { PyString_Concat(val1, val2); return true; } -- cgit v1.2.3