From 25cd53d953ee7954b4f9050408fc72750e0dc083 Mon Sep 17 00:00:00 2001 From: Alex Fabijanic Date: Fri, 3 Apr 2015 10:46:07 -0500 Subject: [PATCH] Poco::Var operator== throws exception #769 --- Foundation/src/Var.cpp | 2 +- Foundation/testsuite/src/VarTest.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Foundation/src/Var.cpp b/Foundation/src/Var.cpp index 714560477..5daa2f8b2 100644 --- a/Foundation/src/Var.cpp +++ b/Foundation/src/Var.cpp @@ -255,7 +255,7 @@ const Var Var::operator -- (int) bool Var::operator == (const Var& other) const { - if (isEmpty() && !other.isEmpty()) return false; + if (isEmpty() != other.isEmpty()) return false; if (isEmpty() && other.isEmpty()) return true; return convert() == other.convert(); } diff --git a/Foundation/testsuite/src/VarTest.cpp b/Foundation/testsuite/src/VarTest.cpp index 871792b57..984ff22b4 100644 --- a/Foundation/testsuite/src/VarTest.cpp +++ b/Foundation/testsuite/src/VarTest.cpp @@ -2473,6 +2473,11 @@ void VarTest::testEmpty() assert (da == da); assert (!(da != da)); + assert (da != Var(1)); + assert (!(da == Var(1))); + assert (Var(1) != da); + assert (!(Var(1) == da)); + assert (da != ""); assert ("" != da); assert (!(da == ""));