summaryrefslogtreecommitdiffstats
path: root/src/util/expression-evaluator.cpp
diff options
context:
space:
mode:
authorMichael Soegtrop <MSoegtrop@yahoo.de>2016-06-12 10:52:33 +0000
committerMichael Soegtrop <MSoegtrop@yahoo.de>2016-06-12 10:52:33 +0000
commit013ba80c5b0115dbb0f6da01e1f42806a4037eb8 (patch)
treefe8d764a8e808c2084df8ace149d472109f3ae25 /src/util/expression-evaluator.cpp
parentFixed Bool LPE review issues (diff)
parentOptionally sort attributes and properties into a canonical order. (diff)
downloadinkscape-013ba80c5b0115dbb0f6da01e1f42806a4037eb8.tar.gz
inkscape-013ba80c5b0115dbb0f6da01e1f42806a4037eb8.zip
updated to latest trunk
(bzr r14876.2.3)
Diffstat (limited to 'src/util/expression-evaluator.cpp')
-rw-r--r--src/util/expression-evaluator.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/util/expression-evaluator.cpp b/src/util/expression-evaluator.cpp
index 48064e647..dd7ce97f7 100644
--- a/src/util/expression-evaluator.cpp
+++ b/src/util/expression-evaluator.cpp
@@ -28,6 +28,8 @@
#include "util/expression-evaluator.h"
#include "util/units.h"
+#include <glib/gconvert.h>
+
#include <math.h>
#include <string.h>
@@ -49,7 +51,7 @@ EvaluatorToken::EvaluatorToken()
}
ExpressionEvaluator::ExpressionEvaluator(const char *string, Unit const *unit) :
- string(string),
+ string(g_locale_to_utf8(string,-1,0,0,0)),
unit(unit)
{
current_token.type = TOKEN_END;
@@ -206,8 +208,11 @@ EvaluatorQuantity ExpressionEvaluator::evaluateFactor()
{
EvaluatorQuantity evaluated_factor = EvaluatorQuantity();
EvaluatorToken consumed_token = EvaluatorToken();
-
- if (acceptToken(TOKEN_NUM, &consumed_token)) {
+
+ if (acceptToken(TOKEN_END, &consumed_token)) {
+ return evaluated_factor;
+ }
+ else if (acceptToken(TOKEN_NUM, &consumed_token)) {
evaluated_factor.value = consumed_token.value.fl;
} else if (acceptToken('(', NULL)) {
evaluated_factor = evaluateExpression();