From 12dc490c3af9ec0f34b513609f3b14effd5a2906 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Fri, 14 Jun 2013 14:18:11 +0200 Subject: No need for a buggy rewrite ... see 08bb8fca4144608237418d64b1479840c408256f "#i122208# replace the binaryurp cache for improved C++ compatibility" and 059f041dfdffe0630ec573fb444c51cc463b90b1 "cppcheck: fix duplicateExpression," when the only improvement is to not needlessly acquire/release raw rtl_uString instances. Change-Id: I734304b231d69f8089cbf1d35a3deda75f771c78 --- binaryurp/source/lessoperators.cxx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'binaryurp') diff --git a/binaryurp/source/lessoperators.cxx b/binaryurp/source/lessoperators.cxx index 3a515f549f22..6d8952de810f 100644 --- a/binaryurp/source/lessoperators.cxx +++ b/binaryurp/source/lessoperators.cxx @@ -32,16 +32,14 @@ namespace com { namespace sun { namespace star { namespace uno { -bool operator<( const TypeDescription& rLeft, const TypeDescription& rRight) { - assert( rLeft.is() && rRight.is()); - const typelib_TypeDescription& rA = *rLeft.get(); - const typelib_TypeDescription& rB = *rRight.get(); - if( rA.eTypeClass != rB.eTypeClass) - return (rA.eTypeClass < rB.eTypeClass); - const sal_Int32 nCmp = rtl_ustr_compare_WithLength( - rA.pTypeName->buffer, rA.pTypeName->length, - rB.pTypeName->buffer, rB.pTypeName->length); - return (nCmp < 0); +bool operator <(TypeDescription const & left, TypeDescription const & right) { + assert(left.is() && right.is()); + typelib_TypeClass tc1 = left.get()->eTypeClass; + typelib_TypeClass tc2 = right.get()->eTypeClass; + return tc1 < tc2 || + (tc1 == tc2 && + (OUString::unacquired(&left.get()->pTypeName) < + OUString::unacquired(&right.get()->pTypeName))); } bool TypeDescEqual::operator()( const TypeDescription& rLeft, const TypeDescription& rRight) const -- cgit