From e3e4e29829b6ebfb6bc90f74e62fcc7dcb33e78c Mon Sep 17 00:00:00 2001 From: Chris Frey Date: Tue, 24 Jan 2012 04:20:45 -0500 Subject: [PATCH] tools: btarcmp: compare Unknowns in sorted order --- tools/btarcmp.cc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tools/btarcmp.cc b/tools/btarcmp.cc index c5c0ee92..8c90d9f5 100644 --- a/tools/btarcmp.cc +++ b/tools/btarcmp.cc @@ -82,6 +82,11 @@ bool DBDataCmp(const DBData &a, const DBData &b) return a.GetUniqueId() < b.GetUniqueId(); } +bool UnknownCmp(const UnknownField &a, const UnknownField &b) +{ + return a.type < b.type; +} + class DBDataIdCmp { uint32_t m_id; @@ -258,6 +263,23 @@ public: << endl; } + void operator()(UnknownsType RecordT::* mp, const FieldIdentity &id) const + { + UnknownsType a = m_one.*mp, b = m_two.*mp; + + sort(a.begin(), a.end(), UnknownCmp); + sort(b.begin(), b.end(), UnknownCmp); + + if( a == b ) + return; + + m_found_difference = true; + cout << " " << id.Name << ":\n" + << " tar[0] = '" << a << "'\n" + << " tar[1] = '" << b << "'" + << endl; + } + template void operator()(TypeT RecordT::* mp, const FieldIdentity &id) const { -- 2.11.4.GIT