[Libreoffice-commits] .: sal/inc sal/qa sal/rtl sal/util
Caolán McNamara
caolan at kemper.freedesktop.org
Mon Feb 14 05:24:48 PST 2011
sal/inc/rtl/string.h | 23 ----------
sal/inc/rtl/string.hxx | 22 ----------
sal/inc/rtl/ustring.h | 23 ----------
sal/inc/rtl/ustring.hxx | 22 ----------
sal/qa/rtl/strings/test_oustring_compare.cxx | 58 ---------------------------
sal/rtl/source/strtmpl.c | 47 ---------------------
sal/util/sal.map | 2
7 files changed, 197 deletions(-)
New commits:
commit 3ffb239840fcf9cddbfbe6af3b4be06d2a81f0fd
Author: Caolán McNamara <caolanm at redhat.com>
Date: Mon Feb 14 11:21:21 2011 +0000
move this into comphelper
diff --git a/sal/inc/rtl/string.h b/sal/inc/rtl/string.h
index 0051fc3..2a7a2d9 100644
--- a/sal/inc/rtl/string.h
+++ b/sal/inc/rtl/string.h
@@ -73,29 +73,6 @@ sal_Int32 SAL_CALL rtl_str_getLength( const sal_Char * str ) SAL_THROW_EXTERN_C(
*/
sal_Int32 SAL_CALL rtl_str_compare( const sal_Char * first, const sal_Char * second ) SAL_THROW_EXTERN_C();
-/** Compare two strings using natural order.
-
- For non digit characters, the comparison use the same algorithm as
- rtl_str_compare. When a number is encountered during the comparison,
- natural order is used. Thus, Heading 10 will be considered as greater
- than Heading 2. Numerical comparison is done using decimal representation.
-
- Beware that "MyString 001" and "MyString 1" will be considered as equal
- since leading 0 are meaningless.
-
- @param first
- the first null-terminated string to be compared.
-
- @param second
- the second null-terminated string which is compared with the first one.
-
- @return
- 0 if both strings are equal, a value less than 0 if the first string is
- less than the second string, and a value greater than 0 if the first
- string is greater than the second string.
- */
-sal_Int32 SAL_CALL rtl_str_compare_Numeric( const sal_Char * first, const sal_Char * second ) SAL_THROW_EXTERN_C();
-
/** Compare two strings.
The comparison is based on the numeric value of each character in the
diff --git a/sal/inc/rtl/string.hxx b/sal/inc/rtl/string.hxx
index bd0fa03..186b515 100644
--- a/sal/inc/rtl/string.hxx
+++ b/sal/inc/rtl/string.hxx
@@ -283,28 +283,6 @@ public:
}
/**
- Compares two strings using natural order.
-
- For non digit characters, the comparison use the same algorithm as
- rtl_str_compare. When a number is encountered during the comparison,
- natural order is used. Thus, Heading 10 will be considered as greater
- than Heading 2. Numerical comparison is done using decimal representation.
-
- Beware that "MyString 001" and "MyString 1" will be considered as equal
- since leading 0 are meaningless.
-
- @param str the object to be compared.
- @return 0 - if both strings are equal
- < 0 - if this string is less than the string argument
- > 0 - if this string is greater than the string argument
- */
- sal_Int32 compareToNumeric( const OString & str ) const SAL_THROW(())
- {
- return rtl_str_compare_Numeric( pData->buffer,
- str.pData->buffer );
- }
-
- /**
Compares two strings with an maximum count of characters.
The comparison is based on the numeric value of each character in
diff --git a/sal/inc/rtl/ustring.h b/sal/inc/rtl/ustring.h
index 0ed0bbf..723117c 100644
--- a/sal/inc/rtl/ustring.h
+++ b/sal/inc/rtl/ustring.h
@@ -74,29 +74,6 @@ sal_Int32 SAL_CALL rtl_ustr_getLength( const sal_Unicode * str ) SAL_THROW_EXTER
*/
sal_Int32 SAL_CALL rtl_ustr_compare( const sal_Unicode * first, const sal_Unicode * second ) SAL_THROW_EXTERN_C();
-/** Compare two strings using natural order.
-
- For non digit characters, the comparison use the same algorithm as
- rtl_str_compare. When a number is encountered during the comparison,
- natural order is used. Thus, Heading 10 will be considered as greater
- than Heading 2. Numerical comparison is done using decimal representation.
-
- Beware that "MyString 001" and "MyString 1" will be considered as equal
- since leading 0 are meaningless.
-
- @param first
- the first null-terminated string to be compared.
-
- @param second
- the second null-terminated string which is compared with the first one.
-
- @return
- 0 if both strings are equal, a value less than 0 if the first string is
- less than the second string, and a value greater than 0 if the first
- string is greater than the second string.
- */
-sal_Int32 SAL_CALL rtl_ustr_compare_Numeric( const sal_Unicode * first, const sal_Unicode * second ) SAL_THROW_EXTERN_C();
-
/** Compare two strings.
The comparison is based on the numeric value of each character in the
diff --git a/sal/inc/rtl/ustring.hxx b/sal/inc/rtl/ustring.hxx
index c44603e..f948a0c 100644
--- a/sal/inc/rtl/ustring.hxx
+++ b/sal/inc/rtl/ustring.hxx
@@ -330,28 +330,6 @@ public:
}
/**
- Compares two strings using natural order.
-
- For non digit characters, the comparison use the same algorithm as
- rtl_str_compare. When a number is encountered during the comparison,
- natural order is used. Thus, Heading 10 will be considered as greater
- than Heading 2. Numerical comparison is done using decimal representation.
-
- Beware that "MyString 001" and "MyString 1" will be considered as equal
- since leading 0 are meaningless.
-
- @param str the object to be compared.
- @return 0 - if both strings are equal
- < 0 - if this string is less than the string argument
- > 0 - if this string is greater than the string argument
- */
- sal_Int32 compareToNumeric( const OUString & str ) const SAL_THROW(())
- {
- return rtl_ustr_compare_Numeric( pData->buffer,
- str.pData->buffer );
- }
-
- /**
Compares two strings with an maximum count of characters.
The comparison is based on the numeric value of each character in
diff --git a/sal/qa/rtl/strings/test_oustring_compare.cxx b/sal/qa/rtl/strings/test_oustring_compare.cxx
index daa3958..1d4246d 100644
--- a/sal/qa/rtl/strings/test_oustring_compare.cxx
+++ b/sal/qa/rtl/strings/test_oustring_compare.cxx
@@ -40,11 +40,9 @@ class Compare: public CppUnit::TestFixture
{
private:
void equalsIgnoreAsciiCaseAscii();
- void compareNumeric();
CPPUNIT_TEST_SUITE(Compare);
CPPUNIT_TEST(equalsIgnoreAsciiCaseAscii);
-CPPUNIT_TEST(compareNumeric);
CPPUNIT_TEST_SUITE_END();
};
@@ -70,60 +68,4 @@ void test::oustring::Compare::equalsIgnoreAsciiCaseAscii()
equalsIgnoreAsciiCaseAscii("abcd"));
}
-void test::oustring::Compare::compareNumeric()
-{
-// --- Some generic tests to ensure we do not alter original behavior
-// outside what we want
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("ABC"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("ABC")))) == 0
- );
- // Case sensitivity
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("ABC"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("abc")))) < 0
- );
- // Reverse
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("abc"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("ABC")))) > 0
- );
- // First shorter
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("alongstring"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("alongerstring")))) > 0
- );
- // Second shorter
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("alongerstring"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("alongstring")))) < 0
- );
-// -- Here we go on natural order, each one is followed by classic compare and the reverse comparison
- // That's why we originally made the patch
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("Heading 9"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("Heading 10")))) < 0
- );
- // Original behavior
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("Heading 9"))).compareTo(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("Heading 10")))) > 0
- );
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("Heading 10"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("Heading 9")))) > 0
- );
- // Harder
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("July, the 4th"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("July, the 10th")))) < 0
- );
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("July, the 4th"))).compareTo(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("July, the 10th")))) > 0
- );
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("July, the 10th"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("July, the 4th")))) > 0
- );
- // Hardest
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("abc08"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("abc010")))) < 0
- );
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("abc08"))).compareTo(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("abc010")))) > 0
- );
- CPPUNIT_ASSERT(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("abc010"))).compareToNumeric(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(("abc08")))) > 0
- );
-}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sal/rtl/source/strtmpl.c b/sal/rtl/source/strtmpl.c
index 18bc959..98c09f1 100644
--- a/sal/rtl/source/strtmpl.c
+++ b/sal/rtl/source/strtmpl.c
@@ -60,8 +60,6 @@ inline void rtl_str_ImplCopy( IMPL_RTL_STRCODE* pDest,
} \
}
-#define IS_DIGIT(CHAR) (((CHAR) >= 48) && ((CHAR <= 57)))
-
/* ======================================================================= */
/* C-String functions which could be used without the String-Class */
/* ======================================================================= */
@@ -93,51 +91,6 @@ sal_Int32 SAL_CALL IMPL_RTL_STRNAME( compare )( const IMPL_RTL_STRCODE* pStr1,
/* ----------------------------------------------------------------------- */
-sal_Int32 SAL_CALL IMPL_RTL_STRNAME( compare_Numeric )( const IMPL_RTL_STRCODE* pStr1,
- const IMPL_RTL_STRCODE* pStr2 )
-{
- sal_Int32 nRet;
- do {
- while ( ((nRet = ((sal_Int32)(IMPL_RTL_USTRCODE(*pStr1)))-
- ((sal_Int32)(IMPL_RTL_USTRCODE(*pStr2)))) == 0) &&
- *pStr2 )
- {
- pStr1++;
- pStr2++;
- }
-
- if(*pStr1 && *pStr2)
- {
- IMPL_RTL_STRCODE c1 = (sal_Int32)IMPL_RTL_USTRCODE( *pStr1 );
- IMPL_RTL_STRCODE c2 = (sal_Int32)IMPL_RTL_USTRCODE( *pStr2 );
- sal_Int64 number1 = 0;
- sal_Int64 number2 = 0;
- if(IS_DIGIT(c1) && IS_DIGIT(c2))
- {
- do
- {
- number1 = number1 * 10 + (c1 - '0');
- pStr1++;
- c1 = (sal_Int32)IMPL_RTL_USTRCODE( *pStr1 );
- } while(IS_DIGIT(c1));
-
- do
- {
- number2 = number2 * 10 + (c2 - '0');
- pStr2++;
- c2 = (sal_Int32)IMPL_RTL_USTRCODE( *pStr2 );
- } while(IS_DIGIT(c2));
-
- nRet = number1 - number2;
- }
- }
- } while(nRet == 0 && *pStr1 && *pStr2);
-
- return nRet;
-}
-
-/* ----------------------------------------------------------------------- */
-
sal_Int32 SAL_CALL IMPL_RTL_STRNAME( compare_WithLength )( const IMPL_RTL_STRCODE* pStr1,
sal_Int32 nStr1Len,
const IMPL_RTL_STRCODE* pStr2,
diff --git a/sal/util/sal.map b/sal/util/sal.map
index a7e3eb6..8b1c079 100755
--- a/sal/util/sal.map
+++ b/sal/util/sal.map
@@ -194,7 +194,6 @@ UDK_3_0_0 {
rtl_locale_setDefault;
rtl_str_getLength;
rtl_str_compare;
- rtl_str_compare_Numeric;
rtl_str_compare_WithLength;
rtl_str_shortenedCompare_WithLength;
rtl_str_reverseCompare_WithLength;
@@ -252,7 +251,6 @@ UDK_3_0_0 {
rtl_stringbuffer_newFromStr_WithLength;
rtl_stringbuffer_newFromStringBuffer;
rtl_ustr_compare;
- rtl_ustr_compare_Numeric;
rtl_ustr_compare_WithLength;
rtl_ustr_shortenedCompare_WithLength;
rtl_ustr_reverseCompare_WithLength;
More information about the Libreoffice-commits
mailing list