Kaydet (Commit) e36ca8d3 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Do not forget to actually set newStr to an empty string

(cherry picked from commit f7a7a9dd)
Conflicts:
	sal/qa/rtl/strings/test_strings_replace.cxx
	sal/rtl/ustring.cxx

Change-Id: I745b09d8a248f08afdd3387f4cfcf69d71ec3c39
üst 0af7e2af
......@@ -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", ""));
}
}
......
......@@ -1154,8 +1154,8 @@ void rtl_uString_newReplaceFirstAsciiL(
}
sal_Int32 n = str->length - fromLength + to->length;
rtl_uString_acquire(str); // in case *newStr == str
if (n != 0) {
rtl_uString_new_WithLength(newStr, n);
if (n != 0) {
(*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
if (n != 0) {
rtl_uString_new_WithLength(newStr, n);
if (n != 0) {
(*newStr)->length = n;
assert(i >= 0 && i < str->length);
memcpy(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment