[Libreoffice-commits] core.git: basctl/source basic/source cui/source dbaccess/source formula/source i18npool/source include/rtl io/source sc/inc svtools/source sw/source vcl/source xmloff/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Aug 1 19:39:52 UTC 2018


 basctl/source/basicide/baside2b.cxx                                   |    2 
 basic/source/runtime/methods.cxx                                      |    2 
 cui/source/dialogs/SpellDialog.cxx                                    |    2 
 dbaccess/source/core/api/SingleSelectQueryComposer.cxx                |    2 
 formula/source/core/api/FormulaCompiler.cxx                           |    2 
 i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx |    4 
 include/rtl/ustrbuf.hxx                                               |   13 ++
 include/rtl/ustring.hxx                                               |   37 +++++--
 io/source/acceptor/acc_socket.cxx                                     |    2 
 io/source/connector/ctr_socket.cxx                                    |    2 
 sc/inc/address.hxx                                                    |    2 
 svtools/source/svhtml/parhtml.cxx                                     |   51 +++++++---
 svtools/source/svrtf/parrtf.cxx                                       |    8 -
 sw/source/filter/html/parcss1.cxx                                     |   18 +--
 vcl/source/control/longcurr.cxx                                       |    2 
 xmloff/source/draw/xexptran.cxx                                       |    2 
 xmloff/source/forms/controlpropertyhdl.cxx                            |    2 
 17 files changed, 106 insertions(+), 47 deletions(-)

New commits:
commit 28580110807a38e3ba6f8385f22871b8dfe0a910
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Tue Jul 31 13:13:36 2018 +0200
Commit:     Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Aug 1 21:39:28 2018 +0200

    add operator+=(OUStringBuffer) method to OUString
    
    to reduce needless object creation and copying some more
    
    And fix what looks like a bug in CSS hex color parsing at line
    609 in sw/../parcss1.cxx that has been there since
    commit 7b0b5cdfeed656b279bc32cd929630d5fc25878b "initial import"
    
    Change-Id: Ibad42b23721a56493bd1edcd7165e6104494a5c3
    Reviewed-on: https://gerrit.libreoffice.org/58357
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>

diff --git a/basctl/source/basicide/baside2b.cxx b/basctl/source/basicide/baside2b.cxx
index 26c8b5170bf0..bcd09142536c 100644
--- a/basctl/source/basicide/baside2b.cxx
+++ b/basctl/source/basicide/baside2b.cxx
@@ -2188,7 +2188,7 @@ void WatchTreeListBox::RequestingChildren( SvTreeListEntry * pParent )
                 aDisplayName = pItem->maDisplayName;
             else
                 aDisplayName = pItem->maName;
-            aDisplayName += aIndexStr.makeStringAndClear();
+            aDisplayName += aIndexStr;
             pChildItem->maDisplayName = aDisplayName;
 
             SvTreeListEntry* pChildEntry = SvTreeListBox::InsertEntry( aDisplayName, pEntry );
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 756c9d044f87..4a1a6b66cd29 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -3409,7 +3409,7 @@ void SbRtl_FormatNumber(StarBASIC*, SbxArray& rPar, bool)
         {
             OUStringBuffer sBuf;
             comphelper::string::padToLength(sBuf, nNumDigitsAfterDecimal - nActualDigits, '0');
-            aResult += sBuf.makeStringAndClear();
+            aResult += sBuf;
         }
     }
 
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx
index 7552ce613fcb..d71f12a41ac6 100644
--- a/cui/source/dialogs/SpellDialog.cxx
+++ b/cui/source/dialogs/SpellDialog.cxx
@@ -1897,7 +1897,7 @@ svx::SpellPortions SentenceEditWindow_Impl::CreateSpellPortions() const
             }
             else
             {   // we just need to append the left-over text to the last portion (which had no errors)
-                aRet[ aRet.size() - 1 ].sText += aLeftOverText.makeStringAndClear();
+                aRet[ aRet.size() - 1 ].sText += aLeftOverText;
             }
         }
    }
diff --git a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
index 06a4dcfc4285..9a8eea35ed10 100644
--- a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
+++ b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
@@ -1730,7 +1730,7 @@ void OSingleSelectQueryComposer::setConditionByColumn( const Reference< XPropert
             sTemp += andCriteria ? OUString(STR_AND) : OUString(STR_OR);
             sFilter = sTemp;
         }
-        sFilter += aSQL.makeStringAndClear();
+        sFilter += aSQL;
 
         // add the filter and the sort order
         _aSetFunctor(this,sFilter);
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index 3329db657812..019a4b292267 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -2214,7 +2214,7 @@ const FormulaToken* FormulaCompiler::CreateStringFromToken( OUString& rFormula,
 {
     OUStringBuffer aBuffer;
     const FormulaToken* p = CreateStringFromToken( aBuffer, pTokenP );
-    rFormula += aBuffer.makeStringAndClear();
+    rFormula += aBuffer;
     return p;
 }
 
diff --git a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
index 813e2451b7bf..7d4dc4542f9a 100644
--- a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
+++ b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
@@ -459,7 +459,7 @@ void lcl_formatPersianWord( sal_Int32 nNumber, OUString& rsResult )
         nNumber /= 1000;
         nSection++;
     }
-    rsResult += aTemp.makeStringAndClear();
+    rsResult += aTemp;
 }
 
 
@@ -536,7 +536,7 @@ void lcl_formatCharsGR(const sal_Unicode table[], int n, OUString& s )
     }
     sb.append(gr_smallNum(table,n));
 
-    s += sb.makeStringAndClear();
+    s += sb;
 }
 
 static
diff --git a/include/rtl/ustrbuf.hxx b/include/rtl/ustrbuf.hxx
index 1a40eeee8832..5f696bff906d 100644
--- a/include/rtl/ustrbuf.hxx
+++ b/include/rtl/ustrbuf.hxx
@@ -59,6 +59,7 @@ namespace rtl
  */
 class SAL_WARN_UNUSED OUStringBuffer
 {
+friend class OUString;
 public:
     /**
         Constructs a string buffer with no characters in it and an
@@ -1615,6 +1616,18 @@ private:
     sal_Int32       nCapacity;
 };
 
+#if defined LIBO_INTERNAL_ONLY
+    // Define this here to avoid circular includes
+    inline OUString & OUString::operator+=( const OUStringBuffer & str ) &
+    {
+        // Call operator= if this is empty, otherwise rtl_uString_newConcat will attempt to
+        // acquire() the str.pData buffer, which is part of the OUStringBuffer mutable state.
+        if (isEmpty())
+            return operator=(str.toString());
+        else
+            return internalAppend(str.pData);
+    }
+#endif
 }
 
 #ifdef RTL_STRING_UNITTEST
diff --git a/include/rtl/ustring.hxx b/include/rtl/ustring.hxx
index 1731bb905c76..24005b22333d 100644
--- a/include/rtl/ustring.hxx
+++ b/include/rtl/ustring.hxx
@@ -56,6 +56,8 @@ extern bool rtl_string_unittest_invalid_conversion;
 namespace rtl
 {
 
+class OUStringBuffer;
+
 #ifdef RTL_STRING_UNITTEST
 #undef rtl
 #endif
@@ -516,6 +518,18 @@ public:
     }
 #endif
 
+#if defined LIBO_INTERNAL_ONLY
+    /**
+      Append the contents of an OUStringBuffer to this string.
+
+      @param    str         an OUStringBuffer.
+
+      @exception std::bad_alloc is thrown if an out-of-memory condition occurs
+      @since LibreOffice 6.2
+    */
+    inline OUString & operator+=( const OUStringBuffer & str ) &;
+#endif
+
     /**
       Append a string to this string.
 
@@ -528,14 +542,7 @@ public:
         &
 #endif
     {
-        rtl_uString* pNewData = NULL;
-        rtl_uString_newConcat( &pNewData, pData, str.pData );
-        if (pNewData == NULL) {
-            throw std::bad_alloc();
-        }
-        rtl_uString_assign(&pData, pNewData);
-        rtl_uString_release(pNewData);
-        return *this;
+        return internalAppend(str.pData);
     }
 #if defined LIBO_INTERNAL_ONLY
     void operator+=(OUString const &) && = delete;
@@ -3539,6 +3546,20 @@ public:
         rtl_uString_newFromAscii( &pNew, value );
         return OUString( pNew, SAL_NO_ACQUIRE );
     }
+
+private:
+    OUString & internalAppend( rtl_uString* pOtherData )
+    {
+        rtl_uString* pNewData = NULL;
+        rtl_uString_newConcat( &pNewData, pData, pOtherData );
+        if (pNewData == NULL) {
+            throw std::bad_alloc();
+        }
+        rtl_uString_assign(&pData, pNewData);
+        rtl_uString_release(pNewData);
+        return *this;
+    }
+
 };
 
 #if defined LIBO_INTERNAL_ONLY
diff --git a/io/source/acceptor/acc_socket.cxx b/io/source/acceptor/acc_socket.cxx
index c8e85cd33185..b106e8b11526 100644
--- a/io/source/acceptor/acc_socket.cxx
+++ b/io/source/acceptor/acc_socket.cxx
@@ -170,7 +170,7 @@ namespace io_acceptor {
         buf.append( ",localHost=" );
         buf.append( m_socket.getLocalHost() );
 
-        m_sDescription += buf.makeStringAndClear();
+        m_sDescription += buf;
     }
 
     sal_Int32 SocketConnection::read( Sequence < sal_Int8 > & aReadBytes , sal_Int32 nBytesToRead )
diff --git a/io/source/connector/ctr_socket.cxx b/io/source/connector/ctr_socket.cxx
index e5908d6e41ed..255c2f0af534 100644
--- a/io/source/connector/ctr_socket.cxx
+++ b/io/source/connector/ctr_socket.cxx
@@ -113,7 +113,7 @@ namespace stoc_connector {
         buf.append( ",localHost=" );
         buf.append( m_socket.getLocalHost( ) );
 
-        m_sDescription += buf.makeStringAndClear();
+        m_sDescription += buf;
     }
 
     sal_Int32 SocketConnection::read( Sequence < sal_Int8 > & aReadBytes , sal_Int32 nBytesToRead )
diff --git a/sc/inc/address.hxx b/sc/inc/address.hxx
index 63ddb00188ba..9d123383c961 100644
--- a/sc/inc/address.hxx
+++ b/sc/inc/address.hxx
@@ -945,7 +945,7 @@ inline void ScColToAlpha( OUString& rStr, SCCOL nCol)
 {
     OUStringBuffer aBuf(2);
     ScColToAlpha( aBuf, nCol);
-    rStr += aBuf.makeStringAndClear();
+    rStr += aBuf;
 }
 
 inline OUString ScColToAlpha( SCCOL nCol )
diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx
index d887f4084ab8..a25f6f547517 100644
--- a/svtools/source/svhtml/parhtml.cxx
+++ b/svtools/source/svhtml/parhtml.cxx
@@ -537,7 +537,8 @@ HtmlTokenId HTMLParser::ScanText( const sal_Unicode cBreak )
                             else
                             {
                                 // If not scanning a tag return token
-                                aToken += sTmpBuffer.makeStringAndClear();
+                                aToken += sTmpBuffer;
+                                sTmpBuffer.setLength(0);
 
                                 if( !aToken.isEmpty() )
                                 {
@@ -588,7 +589,10 @@ HtmlTokenId HTMLParser::ScanText( const sal_Unicode cBreak )
                     // options.
                     sTmpBuffer.append( '\\' );
                     if( MAX_LEN == sTmpBuffer.getLength() )
-                        aToken += sTmpBuffer.makeStringAndClear();
+                    {
+                        aToken += sTmpBuffer;
+                        sTmpBuffer.setLength(0);
+                    }
                 }
                 if( IsParserWorking() )
                 {
@@ -626,7 +630,10 @@ HtmlTokenId HTMLParser::ScanText( const sal_Unicode cBreak )
                 // mark within tags
                 sTmpBuffer.append( '\\' );
                 if( MAX_LEN == sTmpBuffer.getLength() )
-                    aToken += sTmpBuffer.makeStringAndClear();
+                {
+                    aToken += sTmpBuffer;
+                    sTmpBuffer.setLength(0);
+                }
             }
             sTmpBuffer.append( '\\' );
             break;
@@ -721,7 +728,8 @@ HtmlTokenId HTMLParser::ScanText( const sal_Unicode cBreak )
                         if( !aToken.isEmpty() || sTmpBuffer.getLength() > 1 )
                         {
                             // Have seen s.th. aside from blanks?
-                            aToken += sTmpBuffer.makeStringAndClear();
+                            aToken += sTmpBuffer;
+                            sTmpBuffer.setLength(0);
                             return HtmlTokenId::TEXTTOKEN;
                         }
                         else
@@ -747,14 +755,15 @@ HtmlTokenId HTMLParser::ScanText( const sal_Unicode cBreak )
                     sTmpBuffer.appendUtf32( nNextCh );
                     if( MAX_LEN == sTmpBuffer.getLength() )
                     {
-                        aToken += sTmpBuffer.makeStringAndClear();
+                        aToken += sTmpBuffer;
+                        sTmpBuffer.setLength(0);
                     }
                     if( ( sal_Unicode(EOF) == (nNextCh = GetNextChar()) &&
                           rInput.eof() ) ||
                         !IsParserWorking() )
                     {
                         if( !sTmpBuffer.isEmpty() )
-                            aToken += sTmpBuffer.makeStringAndClear();
+                            aToken += sTmpBuffer;
                         return HtmlTokenId::TEXTTOKEN;
                     }
                 } while( rtl::isAsciiAlpha( nNextCh ) || rtl::isAsciiDigit( nNextCh ) );
@@ -763,14 +772,17 @@ HtmlTokenId HTMLParser::ScanText( const sal_Unicode cBreak )
         }
 
         if( MAX_LEN == sTmpBuffer.getLength() )
-            aToken += sTmpBuffer.makeStringAndClear();
+        {
+            aToken += sTmpBuffer;
+            sTmpBuffer.setLength(0);
+        }
 
         if( bContinue && bNextCh )
             nNextCh = GetNextChar();
     }
 
     if( !sTmpBuffer.isEmpty() )
-        aToken += sTmpBuffer.makeStringAndClear();
+        aToken += sTmpBuffer;
 
     return HtmlTokenId::TEXTTOKEN;
 }
@@ -805,7 +817,8 @@ HtmlTokenId HTMLParser::GetNextRawToken()
                 // Maybe we've reached the end.
 
                 // Save what we have read previously...
-                aToken += sTmpBuffer.makeStringAndClear();
+                aToken += sTmpBuffer;
+                sTmpBuffer.setLength(0);
 
                 // and remember position in stream.
                 sal_uInt64 nStreamPos = rInput.Tell();
@@ -926,7 +939,10 @@ HtmlTokenId HTMLParser::GetNextRawToken()
                     bTwoMinus = true;
 
                     if( MAX_LEN == sTmpBuffer.getLength() )
-                        aToken += sTmpBuffer.makeStringAndClear();
+                    {
+                        aToken += sTmpBuffer;
+                        sTmpBuffer.setLength(0);
+                    }
                     sTmpBuffer.appendUtf32( nNextCh );
                     nNextCh = GetNextChar();
                 }
@@ -978,7 +994,10 @@ HtmlTokenId HTMLParser::GetNextRawToken()
 
         if( (!bContinue && !sTmpBuffer.isEmpty()) ||
             MAX_LEN == sTmpBuffer.getLength() )
-            aToken += sTmpBuffer.makeStringAndClear();
+        {
+            aToken += sTmpBuffer;
+            sTmpBuffer.setLength(0);
+        }
 
         if( bContinue && bNextCh )
             nNextCh = GetNextChar();
@@ -1055,13 +1074,19 @@ HtmlTokenId HTMLParser::GetNextToken_()
                     do {
                         sTmpBuffer.appendUtf32( nNextCh );
                         if( MAX_LEN == sTmpBuffer.getLength() )
-                            aToken += sTmpBuffer.makeStringAndClear();
+                        {
+                            aToken += sTmpBuffer;
+                            sTmpBuffer.setLength(0);
+                        }
                         nNextCh = GetNextChar();
                     } while( '>' != nNextCh && '/' != nNextCh && !rtl::isAsciiWhiteSpace( nNextCh ) &&
                              IsParserWorking() && !rInput.eof() );
 
                     if( !sTmpBuffer.isEmpty() )
-                        aToken += sTmpBuffer.makeStringAndClear();
+                    {
+                        aToken += sTmpBuffer;
+                        sTmpBuffer.setLength(0);
+                    }
 
                     // Skip blanks
                     while( rtl::isAsciiWhiteSpace( nNextCh ) && IsParserWorking() )
diff --git a/svtools/source/svrtf/parrtf.cxx b/svtools/source/svrtf/parrtf.cxx
index 91a53b4381c6..bff4bcacc54e 100644
--- a/svtools/source/svrtf/parrtf.cxx
+++ b/svtools/source/svrtf/parrtf.cxx
@@ -106,14 +106,14 @@ int SvRTFParser::GetNextToken_()
                                 aStrBuffer[nStrLen++] = nNextCh;
                                 if( MAX_TOKEN_LEN == nStrLen )
                                 {
-                                    aToken += aStrBuffer.toString();
+                                    aToken += aStrBuffer;
                                     nStrLen = 0;
                                 }
                                 nNextCh = GetNextChar();
                             } while( RTF_ISALPHA( nNextCh ) );
                             if( nStrLen )
                             {
-                                aToken += aStrBuffer.makeStringAndClear();
+                                aToken += aStrBuffer;
                             }
                         }
 
@@ -505,7 +505,7 @@ void SvRTFParser::ScanText()
                     if (sal_Unicode(EOF) == (nNextCh = GetNextChar()))
                     {
                         if (!aStrBuffer.isEmpty())
-                            aToken += aStrBuffer.toString();
+                            aToken += aStrBuffer;
                         return;
                     }
                 } while
@@ -522,7 +522,7 @@ void SvRTFParser::ScanText()
     }
 
     if (!aStrBuffer.isEmpty())
-        aToken += aStrBuffer.makeStringAndClear();
+        aToken += aStrBuffer;
 }
 
 
diff --git a/sw/source/filter/html/parcss1.cxx b/sw/source/filter/html/parcss1.cxx
index 181ebbd04b43..51bad26ca3ec 100644
--- a/sw/source/filter/html/parcss1.cxx
+++ b/sw/source/filter/html/parcss1.cxx
@@ -151,7 +151,7 @@ CSS1Token CSS1Parser::GetNextToken()
                     } while( (rtl::isAsciiAlphanumeric(cNextCh) ||
                              '-' == cNextCh) && !IsEOF() );
 
-                    aToken += sTmpBuffer.makeStringAndClear();
+                    aToken += sTmpBuffer;
 
                     // check if we know it
                     switch( aToken[0] )
@@ -244,7 +244,7 @@ CSS1Token CSS1Parser::GetNextToken()
                     } while( (rtl::isAsciiAlphanumeric(cNextCh) ||
                              '-' == cNextCh) && !IsEOF() );
 
-                    aToken += sTmpBuffer.makeStringAndClear();
+                    aToken += sTmpBuffer;
 
                     if( ( 'i'==aToken[0] || 'I'==aToken[0] ) &&
                         aToken.equalsIgnoreAsciiCase( "important" ) )
@@ -282,7 +282,7 @@ CSS1Token CSS1Parser::GetNextToken()
                     cNextCh = GetNextChar();
                 } while( cQuoteChar != cNextCh && !IsEOF() );
 
-                aToken += sTmpBuffer.toString();
+                aToken += sTmpBuffer;
 
                 nRet = CSS1_STRING;
             }
@@ -320,7 +320,7 @@ CSS1Token CSS1Parser::GetNextToken()
                 if( sTmpBuffer.getLength()==6 )
                 {
                     // we found a color in hex
-                    aToken += sTmpBuffer.makeStringAndClear();
+                    aToken += sTmpBuffer;
                     nRet = CSS1_HEXCOLOR;
                     bNextCh = false;
 
@@ -342,7 +342,7 @@ CSS1Token CSS1Parser::GetNextToken()
                 } while( (('0'<=cNextCh && '9'>=cNextCh) || '.'==cNextCh) &&
                          !IsEOF() );
 
-                aToken += sTmpBuffer.makeStringAndClear();
+                aToken += sTmpBuffer;
                 nValue = aToken.toDouble();
 
                 // ignore white space
@@ -388,7 +388,7 @@ CSS1Token CSS1Parser::GetNextToken()
                         } while( (rtl::isAsciiAlphanumeric(cNextCh) ||
                                  '-' == cNextCh) && !IsEOF() );
 
-                        aIdent += sTmpBuffer2.makeStringAndClear();
+                        aIdent += sTmpBuffer2;
 
                         // Is it an unit?
                         const sal_Char *pCmp1 = nullptr, *pCmp2 = nullptr, *pCmp3 = nullptr;
@@ -544,7 +544,7 @@ CSS1Token CSS1Parser::GetNextToken()
                 if( sTmpBuffer.getLength()==6 || sTmpBuffer.getLength()==3 )
                 {
                     // we found a color in hex
-                    aToken += sTmpBuffer.makeStringAndClear();
+                    aToken += sTmpBuffer;
                     nRet = CSS1_HEXCOLOR;
                     bNextCh = false;
 
@@ -601,7 +601,7 @@ CSS1Token CSS1Parser::GetNextToken()
                 } while( (rtl::isAsciiAlphanumeric(cNextCh) ||
                            '-' == cNextCh) && !IsEOF() );
 
-                aToken += sTmpBuffer.makeStringAndClear();
+                aToken += sTmpBuffer;
 
                 if( bHexColor && sTmpBuffer.getLength()==6 )
                 {
@@ -628,7 +628,7 @@ CSS1Token CSS1Parser::GetNextToken()
                         cNextCh = GetNextChar();
                     } while( (nNestCnt>1 || ')'!=cNextCh) && !IsEOF() );
                     sTmpBuffer2.append( cNextCh );
-                    aToken += sTmpBuffer2.makeStringAndClear();
+                    aToken += sTmpBuffer2;
                     bNextCh = true;
                     nRet = 'u'==aToken[0] || 'U'==aToken[0]
                                 ? CSS1_URL
diff --git a/vcl/source/control/longcurr.cxx b/vcl/source/control/longcurr.cxx
index cc5da9b3409c..f2a741abb6d6 100644
--- a/vcl/source/control/longcurr.cxx
+++ b/vcl/source/control/longcurr.cxx
@@ -192,8 +192,8 @@ bool ImplCurrencyGetValue( const OUString& rStr, BigInt& rValue,
     if (aStr2.getLength() < nDecDigits)
         string::padToLength(aStr2, nDecDigits, '0');
 
+    aStr1.append(aStr2);
     aStr  = aStr1.makeStringAndClear();
-    aStr += aStr2.makeStringAndClear();
 
     // check range
     BigInt nValue( aStr );
diff --git a/xmloff/source/draw/xexptran.cxx b/xmloff/source/draw/xexptran.cxx
index a771f0da7599..03e849d79873 100644
--- a/xmloff/source/draw/xexptran.cxx
+++ b/xmloff/source/draw/xexptran.cxx
@@ -145,7 +145,7 @@ void Imp_PutDoubleChar(OUString& rStr, double fValue)
 {
     OUStringBuffer sStringBuffer;
     ::sax::Converter::convertDouble(sStringBuffer, fValue);
-    rStr += sStringBuffer.makeStringAndClear();
+    rStr += sStringBuffer;
 }
 
 void Imp_PutDoubleChar(OUStringBuffer& rStr, const SvXMLUnitConverter& rConv, double fValue,
diff --git a/xmloff/source/forms/controlpropertyhdl.cxx b/xmloff/source/forms/controlpropertyhdl.cxx
index 839789167e9e..443ad538a2a2 100644
--- a/xmloff/source/forms/controlpropertyhdl.cxx
+++ b/xmloff/source/forms/controlpropertyhdl.cxx
@@ -267,7 +267,7 @@ namespace xmloff
 
         if ( !_rStrExpValue.isEmpty() )
             _rStrExpValue += " ";
-        _rStrExpValue += aOut.makeStringAndClear();
+        _rStrExpValue += aOut;
 
         return true;
     }


More information about the Libreoffice-commits mailing list