From e59a48080cc6710111ff7574be530338d173c7c4 Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Wed, 1 Oct 2014 18:58:28 -0400 Subject: [PATCH] Variant - ::operator_partial was not treating the status field as a special caseless compare, like operator== does. --- src/Variant.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Variant.cpp b/src/Variant.cpp index 35e2dc649..39afff8ac 100644 --- a/src/Variant.cpp +++ b/src/Variant.cpp @@ -1065,6 +1065,11 @@ bool Variant::operator_partial (const Variant& other) const case type_string: { right.cast (type_string); + + // Status is always compared caseless. + if (left.source () == "status") + return compare (left._string, right._string, false); + int left_len = left._string.length (); int right_len = right._string.length (); @@ -1089,7 +1094,6 @@ bool Variant::operator_partial (const Variant& other) const } case type_duration: - left.cast (type_duration); return left._duration == right._duration; }