From 07314aa75683a7d6d34069514a8bb377bd2def77 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 26 Dec 2023 00:32:55 +0100 Subject: Fix operator== to take everything in VerificationNote into account. --- src/verify.cc | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/verify.cc b/src/verify.cc index 960f0438..c5abb857 100644 --- a/src/verify.cc +++ b/src/verify.cc @@ -2124,7 +2124,16 @@ dcp::note_to_string (VerificationNote note) bool dcp::operator== (dcp::VerificationNote const& a, dcp::VerificationNote const& b) { - return a.type() == b.type() && a.code() == b.code() && a.note() == b.note() && a.file() == b.file() && a.line() == b.line(); + return a.type() == b.type() && + a.code() == b.code() && + a.note() == b.note() && + a.file() == b.file() && + a.line() == b.line() && + a.frame() == b.frame() && + a.component() == b.component() && + a.size() == b.size() && + a.id() == b.id() && + a.other_id() == b.other_id(); } @@ -2147,7 +2156,27 @@ dcp::operator< (dcp::VerificationNote const& a, dcp::VerificationNote const& b) return a.file().get_value_or("") < b.file().get_value_or(""); } - return a.line().get_value_or(0) < b.line().get_value_or(0); + if (a.line() != b.line()) { + return a.line().get_value_or(0) < b.line().get_value_or(0); + } + + if (a.frame() != b.frame()) { + return a.frame().get_value_or(0) < b.frame().get_value_or(0); + } + + if (a.component() != b.component()) { + return a.component().get_value_or(0) < b.component().get_value_or(0); + } + + if (a.size() != b.size()) { + return a.size().get_value_or(0) < b.size().get_value_or(0); + } + + if (a.id() != b.id()) { + return a.id().get_value_or("") < b.id().get_value_or(""); + } + + return a.other_id().get_value_or("") < b.other_id().get_value_or(""); } -- cgit v1.2.3