sal/qa/rtl/strings/test_strings_replace.cxx | 19 +++++++++++++++++++ sal/rtl/ustring.cxx | 6 +++--- 2 files changed, 22 insertions(+), 3 deletions(-)
New commits: commit f7a7a9dd84d1cd8b49d59e1fb1853ea7e9f40edf Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Jun 25 08:52:08 2015 +0200 Do not forget to actually set newStr to an empty string Change-Id: I745b09d8a248f08afdd3387f4cfcf69d71ec3c39 diff --git a/sal/qa/rtl/strings/test_strings_replace.cxx b/sal/qa/rtl/strings/test_strings_replace.cxx index 0d47c3e..02054c1 100644 --- a/sal/qa/rtl/strings/test_strings_replace.cxx +++ b/sal/qa/rtl/strings/test_strings_replace.cxx @@ -20,6 +20,7 @@ namespace { +OUString s_empty; OUString s_bar("bar"); OUString s_bars("bars"); OUString s_foo("foo"); @@ -176,6 +177,9 @@ void Test::ustringReplaceFirstAsciiL() { rtl::OUString("foobarfoo").replaceFirst("bar", s_other, &n)); CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), n); } + + CPPUNIT_ASSERT_EQUAL( + rtl::OUString(), rtl::OUString("xa").replaceFirst("xa", s_empty)); } void Test::ustringReplaceFirstToAsciiL() { @@ -210,6 +214,9 @@ void Test::ustringReplaceFirstToAsciiL() { rtl::OUString("foobarfoo").replaceFirst(s_bar, "other", &n)); CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), n); } + + CPPUNIT_ASSERT_EQUAL( + rtl::OUString(), rtl::OUString("xa").replaceFirst(s_xa, "")); } void Test::ustringReplaceFirstAsciiLAsciiL() { @@ -249,6 +256,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() { @@ -277,6 +287,9 @@ void Test::ustringReplaceAllAsciiL() { CPPUNIT_ASSERT_EQUAL( rtl::OUString("xxa"), rtl::OUString("xaa").replaceAll("xa", s_xx)); + + CPPUNIT_ASSERT_EQUAL( + rtl::OUString(), rtl::OUString("xa").replaceAll("xa", s_empty)); } void Test::ustringReplaceAllToAsciiL() { @@ -291,6 +304,9 @@ void Test::ustringReplaceAllToAsciiL() { CPPUNIT_ASSERT_EQUAL( rtl::OUString("xxa"), rtl::OUString("xaa").replaceAll(s_xa, "xx")); + + CPPUNIT_ASSERT_EQUAL( + rtl::OUString(), rtl::OUString("xa").replaceAll(s_xa, "")); } void Test::ustringReplaceAllAsciiLAsciiL() { @@ -308,6 +324,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 8270774..de733e8 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( @@ -1196,8 +1196,8 @@ void rtl_uString_newReplaceFirstToAsciiL( } sal_Int32 n = str->length - from->length + 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( @@ -1240,8 +1240,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( _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits