diff options
-rw-r--r-- | codemaker/source/javamaker/javatype.cxx | 4 | ||||
-rw-r--r-- | compilerplugins/clang/bufferadd.cxx | 21 | ||||
-rw-r--r-- | compilerplugins/clang/test/bufferadd.cxx | 18 | ||||
-rw-r--r-- | connectivity/source/drivers/firebird/DatabaseMetaData.cxx | 16 | ||||
-rw-r--r-- | dbaccess/source/core/recovery/settingsimport.cxx | 3 | ||||
-rw-r--r-- | include/rtl/strbuf.hxx | 7 | ||||
-rw-r--r-- | include/rtl/ustrbuf.hxx | 7 | ||||
-rw-r--r-- | sc/source/core/data/documen4.cxx | 9 | ||||
-rw-r--r-- | sc/source/filter/excel/xecontent.cxx | 4 | ||||
-rw-r--r-- | sfx2/source/view/lokhelper.cxx | 10 | ||||
-rw-r--r-- | uui/source/iahndl.cxx | 9 | ||||
-rw-r--r-- | vcl/workben/svpclient.cxx | 8 |
12 files changed, 58 insertions, 58 deletions
diff --git a/codemaker/source/javamaker/javatype.cxx b/codemaker/source/javamaker/javatype.cxx index 28d6081e8c8b..0616d8f08771 100644 --- a/codemaker/source/javamaker/javatype.cxx +++ b/codemaker/source/javamaker/javatype.cxx @@ -378,9 +378,7 @@ void MethodDescriptor::addTypeParameter(OUString const & name) { } OString MethodDescriptor::getDescriptor() const { - OStringBuffer buf(m_descriptorStart); - buf.append(m_descriptorEnd); - return buf.makeStringAndClear(); + return rtl::OStringView(m_descriptorStart) + m_descriptorEnd; } diff --git a/compilerplugins/clang/bufferadd.cxx b/compilerplugins/clang/bufferadd.cxx index 659b110403e3..4346e9ca28b2 100644 --- a/compilerplugins/clang/bufferadd.cxx +++ b/compilerplugins/clang/bufferadd.cxx @@ -175,19 +175,6 @@ void BufferAdd::findBufferAssignOrAdd(const Stmt* parentStmt, Stmt const* stmt) auto cxxConstructExpr = dyn_cast<CXXConstructExpr>(ignore(varDeclLHS->getInit())); if (cxxConstructExpr) { - if (cxxConstructExpr->getNumArgs() == 0) - { - addToGoodMap(varDeclLHS, parentStmt); - return; - } - auto tc2 = loplugin::TypeCheck(cxxConstructExpr->getArg(0)->getType()); - if (tc2.LvalueReference().Class("OUStringBuffer") - || tc2.LvalueReference().Class("OStringBuffer") - || tc2.Class("OUStringBuffer") || tc2.Class("OStringBuffer")) - { - badMap.insert(varDeclLHS); - return; - } addToGoodMap(varDeclLHS, parentStmt); return; } @@ -286,10 +273,6 @@ bool BufferAdd::isMethodOkToMerge(CXXMemberCallExpr const* memberCall) auto methodDecl = memberCall->getMethodDecl(); if (methodDecl->getNumParams() == 0) return true; - auto tc2 = loplugin::TypeCheck(methodDecl->getParamDecl(0)->getType()); - if (tc2.LvalueReference().Class("OUStringBuffer") - || tc2.LvalueReference().Class("OStringBuffer")) - return false; auto name = methodDecl->getName(); if (name == "appendUninitialized" || name == "setLength" || name == "remove" || name == "insert" @@ -338,9 +321,7 @@ bool BufferAdd::isSideEffectFree(Expr const* expr) if (auto calleeMethodDecl = dyn_cast_or_null<CXXMethodDecl>(callExpr->getCalleeDecl())) if (calleeMethodDecl && calleeMethodDecl->getIdentifier()) { - auto name = calleeMethodDecl->getName(); - if (callExpr->getNumArgs() > 0 - && (name == "number" || name == "unacquired" || name == "boolean")) + if (callExpr->getNumArgs() > 0) { auto tc = loplugin::TypeCheck(calleeMethodDecl->getParent()); if (tc.Class("OUString") || tc.Class("OString")) diff --git a/compilerplugins/clang/test/bufferadd.cxx b/compilerplugins/clang/test/bufferadd.cxx index 7d8d9a693b9f..a9f28b13b55a 100644 --- a/compilerplugins/clang/test/bufferadd.cxx +++ b/compilerplugins/clang/test/bufferadd.cxx @@ -46,6 +46,24 @@ void f4(sal_Unicode const* pPathBegin) v.append(pPathBegin, 12); v.append("aaaa"); } +void f5(OUStringBuffer& input) +{ + // expected-error@+1 {{convert this append sequence into a *String + sequence [loplugin:bufferadd]}} + OUStringBuffer v(input); + v.append("aaaa"); +} +struct Footer +{ + OStringBuffer m_descriptorStart; + OString m_descriptorEnd; + OString f8() const + { + // expected-error@+1 {{convert this append sequence into a *String + sequence [loplugin:bufferadd]}} + OStringBuffer buf(m_descriptorStart); + buf.append(m_descriptorEnd); + return buf.makeStringAndClear(); + } +}; } namespace test2 diff --git a/connectivity/source/drivers/firebird/DatabaseMetaData.cxx b/connectivity/source/drivers/firebird/DatabaseMetaData.cxx index b0344b5f8b8f..c152694a5963 100644 --- a/connectivity/source/drivers/firebird/DatabaseMetaData.cxx +++ b/connectivity/source/drivers/firebird/DatabaseMetaData.cxx @@ -1566,22 +1566,18 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getPrimaryKeys( SAL_INFO("connectivity.firebird", "getPrimaryKeys() with " "Table: " << sTable); - OUStringBuffer aQueryBuf("SELECT " + OUString sAppend = "WHERE constr.RDB$RELATION_NAME = '%' "; + OUString sQuery = "SELECT " "constr.RDB$RELATION_NAME, " // 1. Table Name "inds.RDB$FIELD_NAME, " // 2. Column Name "inds.RDB$FIELD_POSITION, " // 3. Sequence Number "constr.RDB$CONSTRAINT_NAME " // 4 Constraint name "FROM RDB$RELATION_CONSTRAINTS constr " "JOIN RDB$INDEX_SEGMENTS inds " - "on (constr.RDB$INDEX_NAME = inds.RDB$INDEX_NAME) "); - - OUString sAppend = "WHERE constr.RDB$RELATION_NAME = '%' "; - aQueryBuf.append(sAppend.replaceAll("%", sTable)); - - aQueryBuf.append("AND constr.RDB$CONSTRAINT_TYPE = 'PRIMARY KEY' " - "ORDER BY inds.RDB$FIELD_NAME"); - - OUString sQuery = aQueryBuf.makeStringAndClear(); + "on (constr.RDB$INDEX_NAME = inds.RDB$INDEX_NAME) " + + sAppend.replaceAll("%", sTable) + + "AND constr.RDB$CONSTRAINT_TYPE = 'PRIMARY KEY' " + "ORDER BY inds.RDB$FIELD_NAME"; uno::Reference< XStatement > xStatement = m_pConnection->createStatement(); uno::Reference< XResultSet > xRs = xStatement->executeQuery(sQuery); diff --git a/dbaccess/source/core/recovery/settingsimport.cxx b/dbaccess/source/core/recovery/settingsimport.cxx index 1c46b8b0717a..b64787aa82a4 100644 --- a/dbaccess/source/core/recovery/settingsimport.cxx +++ b/dbaccess/source/core/recovery/settingsimport.cxx @@ -139,8 +139,7 @@ namespace dbaccess o_rValue.clear(); // the characters building up th evalue - OUStringBuffer aCharacters( getAccumulatedCharacters() ); - const OUString sValue = aCharacters.makeStringAndClear(); + const OUString sValue = getAccumulatedCharacters().toString(); const OUString& rItemType( getItemType() ); ENSURE_OR_RETURN_VOID( !rItemType.isEmpty(), "no item type -> no item value" ); diff --git a/include/rtl/strbuf.hxx b/include/rtl/strbuf.hxx index afead770298d..ffb67d25c42d 100644 --- a/include/rtl/strbuf.hxx +++ b/include/rtl/strbuf.hxx @@ -1035,6 +1035,13 @@ public: *pInternalCapacity = &nCapacity; } +#if defined LIBO_INTERNAL_ONLY + operator OStringView() const + { + return OStringView(getStr(), getLength()); + } +#endif + private: /** A pointer to the data structure which contains the data. diff --git a/include/rtl/ustrbuf.hxx b/include/rtl/ustrbuf.hxx index 1f12ef9caeb9..1d73a7fbd843 100644 --- a/include/rtl/ustrbuf.hxx +++ b/include/rtl/ustrbuf.hxx @@ -1634,6 +1634,13 @@ public: return OUStringBuffer( pNew, count + 16 ); } +#if defined LIBO_INTERNAL_ONLY + operator OUStringView() const + { + return OUStringView(getStr(), getLength()); + } +#endif + private: OUStringBuffer( rtl_uString * value, const sal_Int32 capacity ) { diff --git a/sc/source/core/data/documen4.cxx b/sc/source/core/data/documen4.cxx index 1d36d52e3bfb..8b55b15a6f50 100644 --- a/sc/source/core/data/documen4.cxx +++ b/sc/source/core/data/documen4.cxx @@ -1171,11 +1171,10 @@ void ScDocument::CompareDocument( ScDocument& rOtherDoc ) GetName( nThisTab, aTabName ); OUString aTemplate = ScResId(STR_PROGRESS_COMPARING); sal_Int32 nIndex = 0; - OUStringBuffer aProText = aTemplate.getToken( 0, '#', nIndex ); - aProText.append(aTabName); - aProText.append(aTemplate.getToken( 0, '#', nIndex )); - ScProgress aProgress( GetDocumentShell(), - aProText.makeStringAndClear(), 3*nThisEndRow, true ); // 2x FindOrder, 1x here + OUString aProText = aTemplate.getToken( 0, '#', nIndex ) + + aTabName + + aTemplate.getToken( 0, '#', nIndex ); + ScProgress aProgress( GetDocumentShell(), aProText, 3*nThisEndRow, true ); // 2x FindOrder, 1x here long nProgressStart = 2*nThisEndRow; // start for here std::unique_ptr<SCCOLROW[]> pTempRows(new SCCOLROW[nThisEndRow+1]); diff --git a/sc/source/filter/excel/xecontent.cxx b/sc/source/filter/excel/xecontent.cxx index fc354d0ba69b..38155ca6eaa8 100644 --- a/sc/source/filter/excel/xecontent.cxx +++ b/sc/source/filter/excel/xecontent.cxx @@ -989,8 +989,8 @@ bool RequiresFixedFormula(ScConditionMode eMode) OString GetFixedFormula(ScConditionMode eMode, const ScAddress& rAddress, const OString& rText) { OStringBuffer aBuffer; - OStringBuffer aPosBuffer = XclXmlUtils::ToOString(aBuffer, rAddress); - OString aPos = aPosBuffer.makeStringAndClear(); + XclXmlUtils::ToOString(aBuffer, rAddress); + OString aPos = aBuffer.makeStringAndClear(); switch (eMode) { case ScConditionMode::Error: diff --git a/sfx2/source/view/lokhelper.cxx b/sfx2/source/view/lokhelper.cxx index 5d72a583d67b..09e6d59129f3 100644 --- a/sfx2/source/view/lokhelper.cxx +++ b/sfx2/source/view/lokhelper.cxx @@ -284,11 +284,11 @@ void SfxLokHelper::notifyAllViews(int nType, const OString& rPayload) void SfxLokHelper::notifyContextChange(SfxViewShell const* pViewShell, const OUString& aApplication, const OUString& aContext) { - OStringBuffer aBuffer; - aBuffer.append(OUStringToOString(aApplication.replace(' ', '_'), RTL_TEXTENCODING_UTF8)); - aBuffer.append(' '); - aBuffer.append(OUStringToOString(aContext.replace(' ', '_'), RTL_TEXTENCODING_UTF8)); - pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_CONTEXT_CHANGED, aBuffer.makeStringAndClear().getStr()); + OString aBuffer = + OUStringToOString(aApplication.replace(' ', '_'), RTL_TEXTENCODING_UTF8) + + " " + + OUStringToOString(aContext.replace(' ', '_'), RTL_TEXTENCODING_UTF8); + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_CONTEXT_CHANGED, aBuffer.getStr()); } diff --git a/uui/source/iahndl.cxx b/uui/source/iahndl.cxx index 5b026a4082d9..87b4825043cb 100644 --- a/uui/source/iahndl.cxx +++ b/uui/source/iahndl.cxx @@ -891,21 +891,16 @@ UUIInteractionHelper::getInteractionHandlerList( // Iterate over children. for ( const auto& rElem : aElems ) { - OUStringBuffer aElemBuffer; - aElemBuffer.append( "['" ); - aElemBuffer.append( rElem ); - try { InteractionHandlerData aInfo; // Obtain service name. - OUStringBuffer aKeyBuffer = aElemBuffer; - aKeyBuffer.append( "']/ServiceName" ); + OUString aKeyBuffer = "['" + rElem + "']/ServiceName"; OUString aValue; if ( !( xHierNameAccess->getByHierarchicalName( - aKeyBuffer.makeStringAndClear() ) >>= aValue ) ) + aKeyBuffer ) >>= aValue ) ) { OSL_FAIL( "GetInteractionHandlerList - " "Error getting item value!" ); diff --git a/vcl/workben/svpclient.cxx b/vcl/workben/svpclient.cxx index 8ef179b0c1a2..74ccb9f9205f 100644 --- a/vcl/workben/svpclient.cxx +++ b/vcl/workben/svpclient.cxx @@ -254,10 +254,10 @@ IMPL_LINK_NOARG( MyWin, SelectHdl, ListBox&, void) if( nPos == -1 ) return; - OStringBuffer aCommand( 64 ); - aCommand.append( "get " ); - aCommand.append( OUStringToOString( aEntry.copy( nPos+2 ), RTL_TEXTENCODING_ASCII_US ) ); - OString aAnswer( processCommand( aCommand.makeStringAndClear() ) ); + OString aCommand = + "get " + + OUStringToOString( aEntry.copy( nPos+2 ), RTL_TEXTENCODING_ASCII_US ); + OString aAnswer( processCommand( aCommand ) ); SvMemoryStream aStream( aAnswer.getLength() ); aStream.WriteBytes( aAnswer.getStr(), aAnswer.getLength() ); aStream.Seek( STREAM_SEEK_TO_BEGIN ); |