Skip to content

Commit 1ce99c9

Browse files
committed
assign
1 parent db9f970 commit 1ce99c9

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lib/checkstl.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2008,12 +2008,12 @@ static bool isc_strInPlusChain(const Token* tok, const Library::Container* conta
20082008

20092009
static bool isc_strAssignment(const Token* tok)
20102010
{
2011-
if (!Token::simpleMatch(tok, "="))
2011+
if (!Token::Match(tok, "=|+="))
20122012
return false;
20132013
const Token* strTok = tok->astOperand1();
20142014
if (!strTok || !strTok->valueType())
20152015
return false;
2016-
return isc_strCall(tok->astOperand2(), strTok->valueType()->container);
2016+
return isc_strInPlusChain(tok->astOperand2(), strTok->valueType()->container);
20172017
}
20182018

20192019
static bool isc_strConstructor(const Token* tok)
@@ -2085,13 +2085,13 @@ void CheckStl::string_c_str()
20852085
if (Token::Match(tok, "throw %var% . c_str|data ( ) ;") && isLocal(tok->next()) &&
20862086
tok->next()->variable() && tok->next()->variable()->isStlStringType()) {
20872087
string_c_strThrowError(tok);
2088-
} else if (tok->variable() && tok->strAt(1) == "=") {
2089-
if (Token::Match(tok->tokAt(2), "%var% . str ( ) . c_str|data ( ) ;")) {
2088+
} else if (tok->variable()) {
2089+
if (Token::Match(tok->tokAt(1), "= %var% . str ( ) . c_str|data ( ) ;")) {
20902090
const Variable* var = tok->variable();
20912091
const Variable* var2 = tok->tokAt(2)->variable();
20922092
if (var->isPointer() && var2 && var2->isStlType(stl_string_stream))
20932093
string_c_strError(tok);
2094-
} else if (printPerformance && isc_strAssignment(tok->tokAt(1))) {
2094+
} else if (printPerformance && isc_strAssignment(tok->astParent())) {
20952095
string_c_strAssignment(tok, tok->variable()->getTypeName());
20962096
} else if (Token::Match(tok->tokAt(2), "%name% (") &&
20972097
Token::Match(tok->linkAt(3), ") . c_str|data ( ) ;") &&

0 commit comments

Comments
 (0)