From 5c84e474224fae5cf5399073c63f1d4185b27f56 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 4 Nov 2014 14:51:19 +0100 Subject: [PATCH] + fixes #0001816: parseQuantity returns garbage --- src/Base/UnitsApiPy.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Base/UnitsApiPy.cpp b/src/Base/UnitsApiPy.cpp index cccfdc0d8298..c3c7ff6d8aac 100644 --- a/src/Base/UnitsApiPy.cpp +++ b/src/Base/UnitsApiPy.cpp @@ -131,12 +131,12 @@ PyObject* UnitsApi::sParseQuantity(PyObject * /*self*/, PyObject *args,PyObject if (!PyArg_ParseTuple(args, "et", "utf-8", &pstr)) // convert args: Python->C return NULL; // NULL triggers exception - Quantity rtn; - QString qstr = QString::fromUtf8(pstr); - PyMem_Free(pstr); + Quantity rtn; + QString qstr = QString::fromUtf8(pstr); + PyMem_Free(pstr); try { - rtn = Quantity::parse(QString::fromLatin1(pstr)); - } + rtn = Quantity::parse(qstr); + } catch (const Base::Exception&) { PyErr_Format(PyExc_IOError, "invalid unit expression \n"); return 0L; @@ -146,6 +146,5 @@ PyObject* UnitsApi::sParseQuantity(PyObject * /*self*/, PyObject *args,PyObject return 0L; } - return new QuantityPy(new Quantity(rtn)); - + return new QuantityPy(new Quantity(rtn)); }