From a61565bd016d5d165550a4a37849c0ebf6fdd1aa Mon Sep 17 00:00:00 2001 From: Houtan Bastani <houtan@dynare.org> Date: Tue, 26 Nov 2019 11:11:34 +0100 Subject: [PATCH] macro processor: fix bug in cast of string to bool The incorrect `equal` template was being used. --- src/macro/Expressions.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/macro/Expressions.cc b/src/macro/Expressions.cc index 59b4ca85..5fd216e4 100644 --- a/src/macro/Expressions.cc +++ b/src/macro/Expressions.cc @@ -294,10 +294,10 @@ String::cast_bool() const { auto f = [](const char& a, const char& b) { return (tolower(a) == tolower(b)); }; - if (string tf = "true"; equal(value.begin(), value.end(), tf.begin(), f)) + if (string tf = "true"; equal(value.begin(), value.end(), tf.begin(), tf.end(), f)) return make_shared<Bool>(true, env); - if (string tf = "false"; equal(value.begin(), value.end(), tf.begin(), f)) + if (string tf = "false"; equal(value.begin(), value.end(), tf.begin(), tf.end(), f)) return make_shared<Bool>(false, env); try -- GitLab