diff options
Diffstat (limited to 'sal')
-rw-r--r-- | sal/qa/rtl/strings/test_strings_replace.cxx | 12 | ||||
-rw-r--r-- | sal/rtl/ustring.cxx | 4 |
2 files changed, 14 insertions, 2 deletions
diff --git a/sal/qa/rtl/strings/test_strings_replace.cxx b/sal/qa/rtl/strings/test_strings_replace.cxx index 2065078489ed..38c15e68ffae 100644 --- a/sal/qa/rtl/strings/test_strings_replace.cxx +++ b/sal/qa/rtl/strings/test_strings_replace.cxx @@ -186,6 +186,9 @@ void Test::ustringReplaceFirstAsciiL() { rtl::OUString("other"), &n))); CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), n); } + + CPPUNIT_ASSERT_EQUAL( + rtl::OUString(), rtl::OUString("xa").replaceFirst("xa", OUString())); } void Test::ustringReplaceFirstAsciiLAsciiL() { @@ -225,6 +228,9 @@ void Test::ustringReplaceFirstAsciiLAsciiL() { replaceFirst("bar", "other", &n))); CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), n); } + + CPPUNIT_ASSERT_EQUAL( + rtl::OUString(), rtl::OUString("xa").replaceFirst("xa", "")); } void Test::ustringReplaceAll() { @@ -265,6 +271,9 @@ void Test::ustringReplaceAllAsciiL() { rtl::OUString("xaa").replaceAll( "xa", rtl::OUString("xx"))); + + CPPUNIT_ASSERT_EQUAL( + rtl::OUString(), rtl::OUString("xa").replaceAll("xa", OUString())); } void Test::ustringReplaceAllAsciiLAsciiL() { @@ -282,6 +291,9 @@ void Test::ustringReplaceAllAsciiLAsciiL() { rtl::OUString("xxa"), (rtl::OUString("xaa"). replaceAll("xa", "xx"))); + + CPPUNIT_ASSERT_EQUAL( + rtl::OUString(), rtl::OUString("xa").replaceAll("xa", "")); } } diff --git a/sal/rtl/ustring.cxx b/sal/rtl/ustring.cxx index 3c9c8b750a1f..940113d9e752 100644 --- a/sal/rtl/ustring.cxx +++ b/sal/rtl/ustring.cxx @@ -1154,8 +1154,8 @@ void rtl_uString_newReplaceFirstAsciiL( } sal_Int32 n = str->length - fromLength + to->length; rtl_uString_acquire(str); // in case *newStr == str + rtl_uString_new_WithLength(newStr, n); if (n != 0) { - rtl_uString_new_WithLength(newStr, n); (*newStr)->length = n; assert(i >= 0 && i < str->length); memcpy( @@ -1197,8 +1197,8 @@ void rtl_uString_newReplaceFirstAsciiLAsciiL( } sal_Int32 n = str->length - fromLength + toLength; rtl_uString_acquire(str); // in case *newStr == str + rtl_uString_new_WithLength(newStr, n); if (n != 0) { - rtl_uString_new_WithLength(newStr, n); (*newStr)->length = n; assert(i >= 0 && i < str->length); memcpy( |