@@ -1183,7 +1183,7 @@ bool Library::isnullargbad(const Token *ftok, int argnr) const
11831183 const ArgumentChecks *arg = getarg (ftok, argnr);
11841184 if (!arg) {
11851185 // scan format string argument should not be null
1186- const std::string funcname = getFunctionName ( ftok);
1186+ const std::string& funcname = ftok-> funcname (* this );
11871187 const auto it = utils::as_const (mData ->mFunctions ).find (funcname);
11881188 if (it != mData ->mFunctions .cend () && it->second .formatstr && it->second .formatstr_scan )
11891189 return true ;
@@ -1196,7 +1196,7 @@ bool Library::isuninitargbad(const Token *ftok, int argnr, int indirect, bool *h
11961196 const ArgumentChecks *arg = getarg (ftok, argnr);
11971197 if (!arg) {
11981198 // non-scan format string argument should not be uninitialized
1199- const std::string funcname = getFunctionName ( ftok);
1199+ const std::string& funcname = ftok-> funcname (* this );
12001200 const auto it = utils::as_const (mData ->mFunctions ).find (funcname);
12011201 if (it != mData ->mFunctions .cend () && it->second .formatstr && !it->second .formatstr_scan )
12021202 return true ;
@@ -1214,7 +1214,7 @@ const Library::AllocFunc* Library::getAllocFuncInfo(const Token *tok) const
12141214 tok = tok->astOperand2 () ? tok->astOperand2 () : tok->astOperand1 ();
12151215 if (!tok)
12161216 return nullptr ;
1217- const std::string funcname = getFunctionName ( tok);
1217+ const std::string& funcname = tok-> funcname (* this );
12181218 return isNotLibraryFunction (tok) && mData ->mFunctions .find (funcname) != mData ->mFunctions .end () ? nullptr : getAllocDealloc (mData ->mAlloc , funcname);
12191219}
12201220
@@ -1225,7 +1225,7 @@ const Library::AllocFunc* Library::getDeallocFuncInfo(const Token *tok) const
12251225 tok = tok->astOperand2 () ? tok->astOperand2 () : tok->astOperand1 ();
12261226 if (!tok)
12271227 return nullptr ;
1228- const std::string funcname = getFunctionName ( tok);
1228+ const std::string& funcname = tok-> funcname (* this );
12291229 return isNotLibraryFunction (tok) && mData ->mFunctions .find (funcname) != mData ->mFunctions .end () ? nullptr : getAllocDealloc (mData ->mDealloc , funcname);
12301230}
12311231
@@ -1236,7 +1236,7 @@ const Library::AllocFunc* Library::getReallocFuncInfo(const Token *tok) const
12361236 tok = tok->astOperand2 () ? tok->astOperand2 () : tok->astOperand1 ();
12371237 if (!tok)
12381238 return nullptr ;
1239- const std::string funcname = getFunctionName ( tok);
1239+ const std::string& funcname = tok-> funcname (* this );
12401240 return isNotLibraryFunction (tok) && mData ->mFunctions .find (funcname) != mData ->mFunctions .end () ? nullptr : getAllocDealloc (mData ->mRealloc , funcname);
12411241}
12421242
@@ -1443,7 +1443,7 @@ bool Library::isNotLibraryFunction(const Token *ftok, const Function **func) con
14431443 if (ftok->varId ())
14441444 return true ;
14451445
1446- return !matchArguments (ftok, getFunctionName ( ftok), func);
1446+ return !matchArguments (ftok, ftok-> funcname (* this ), func);
14471447}
14481448
14491449bool Library::matchArguments (const Token *ftok, const std::string &functionName, const Function **func) const
@@ -1483,7 +1483,7 @@ const Library::WarnInfo* Library::getWarnInfo(const Token* ftok) const
14831483{
14841484 if (isNotLibraryFunction (ftok))
14851485 return nullptr ;
1486- const auto i = utils::as_const (mData ->mFunctionwarn ).find (getFunctionName ( ftok));
1486+ const auto i = utils::as_const (mData ->mFunctionwarn ).find (ftok-> funcname (* this ));
14871487 if (i == mData ->mFunctionwarn .cend ())
14881488 return nullptr ;
14891489 return &i->second ;
@@ -1539,15 +1539,15 @@ bool Library::formatstr_function(const Token* ftok) const
15391539 if (isNotLibraryFunction (ftok))
15401540 return false ;
15411541
1542- const auto it = utils::as_const (mData ->mFunctions ).find (getFunctionName ( ftok));
1542+ const auto it = utils::as_const (mData ->mFunctions ).find (ftok-> funcname (* this ));
15431543 if (it != mData ->mFunctions .cend ())
15441544 return it->second .formatstr ;
15451545 return false ;
15461546}
15471547
15481548int Library::formatstr_argno (const Token* ftok) const
15491549{
1550- const std::map<int , Library::ArgumentChecks>& argumentChecksFunc = mData ->mFunctions .at (getFunctionName ( ftok)).argumentChecks ;
1550+ const std::map<int , Library::ArgumentChecks>& argumentChecksFunc = mData ->mFunctions .at (ftok-> funcname (* this )).argumentChecks ;
15511551 auto it = std::find_if (argumentChecksFunc.cbegin (), argumentChecksFunc.cend (), [](const std::pair<const int , Library::ArgumentChecks>& a) {
15521552 return a.second .formatstr ;
15531553 });
@@ -1556,19 +1556,19 @@ int Library::formatstr_argno(const Token* ftok) const
15561556
15571557bool Library::formatstr_scan (const Token* ftok) const
15581558{
1559- return mData ->mFunctions .at (getFunctionName ( ftok)).formatstr_scan ;
1559+ return mData ->mFunctions .at (ftok-> funcname (* this )).formatstr_scan ;
15601560}
15611561
15621562bool Library::formatstr_secure (const Token* ftok) const
15631563{
1564- return mData ->mFunctions .at (getFunctionName ( ftok)).formatstr_secure ;
1564+ return mData ->mFunctions .at (ftok-> funcname (* this )).formatstr_secure ;
15651565}
15661566
15671567const Library::NonOverlappingData* Library::getNonOverlappingData (const Token *ftok) const
15681568{
15691569 if (isNotLibraryFunction (ftok))
15701570 return nullptr ;
1571- const auto it = utils::as_const (mData ->mNonOverlappingData ).find (getFunctionName ( ftok));
1571+ const auto it = utils::as_const (mData ->mNonOverlappingData ).find (ftok-> funcname (* this ));
15721572 return (it != mData ->mNonOverlappingData .cend ()) ? &it->second : nullptr ;
15731573}
15741574
@@ -1586,7 +1586,7 @@ Library::UseRetValType Library::getUseRetValType(const Token *ftok) const
15861586 }
15871587 return Library::UseRetValType::NONE;
15881588 }
1589- const auto it = utils::as_const (mData ->mFunctions ).find (getFunctionName ( ftok));
1589+ const auto it = utils::as_const (mData ->mFunctions ).find (ftok-> funcname (* this ));
15901590 if (it != mData ->mFunctions .cend ())
15911591 return it->second .useretval ;
15921592 return Library::UseRetValType::NONE;
@@ -1596,7 +1596,7 @@ const std::string& Library::returnValue(const Token *ftok) const
15961596{
15971597 if (isNotLibraryFunction (ftok))
15981598 return mEmptyString ;
1599- const auto it = utils::as_const (mData ->mReturnValue ).find (getFunctionName ( ftok));
1599+ const auto it = utils::as_const (mData ->mReturnValue ).find (ftok-> funcname (* this ));
16001600 return it != mData ->mReturnValue .cend () ? it->second : mEmptyString ;
16011601}
16021602
@@ -1614,31 +1614,31 @@ const std::string& Library::returnValueType(const Token *ftok) const
16141614 }
16151615 return mEmptyString ;
16161616 }
1617- const auto it = utils::as_const (mData ->mReturnValueType ).find (getFunctionName ( ftok));
1617+ const auto it = utils::as_const (mData ->mReturnValueType ).find (ftok-> funcname (* this ));
16181618 return it != mData ->mReturnValueType .cend () ? it->second : mEmptyString ;
16191619}
16201620
16211621int Library::returnValueContainer (const Token *ftok) const
16221622{
16231623 if (isNotLibraryFunction (ftok))
16241624 return -1 ;
1625- const auto it = utils::as_const (mData ->mReturnValueContainer ).find (getFunctionName ( ftok));
1625+ const auto it = utils::as_const (mData ->mReturnValueContainer ).find (ftok-> funcname (* this ));
16261626 return it != mData ->mReturnValueContainer .cend () ? it->second : -1 ;
16271627}
16281628
16291629std::vector<MathLib::bigint> Library::unknownReturnValues (const Token *ftok) const
16301630{
16311631 if (isNotLibraryFunction (ftok))
16321632 return std::vector<MathLib::bigint>();
1633- const auto it = utils::as_const (mData ->mUnknownReturnValues ).find (getFunctionName ( ftok));
1633+ const auto it = utils::as_const (mData ->mUnknownReturnValues ).find (ftok-> funcname (* this ));
16341634 return (it == mData ->mUnknownReturnValues .cend ()) ? std::vector<MathLib::bigint>() : it->second ;
16351635}
16361636
16371637const Library::Function *Library::getFunction (const Token *ftok) const
16381638{
16391639 if (isNotLibraryFunction (ftok))
16401640 return nullptr ;
1641- const auto it1 = utils::as_const (mData ->mFunctions ).find (getFunctionName ( ftok));
1641+ const auto it1 = utils::as_const (mData ->mFunctions ).find (ftok-> funcname (* this ));
16421642 if (it1 == mData ->mFunctions .cend ())
16431643 return nullptr ;
16441644 return &it1->second ;
@@ -1649,7 +1649,7 @@ bool Library::hasminsize(const Token *ftok) const
16491649{
16501650 if (isNotLibraryFunction (ftok))
16511651 return false ;
1652- const auto it = utils::as_const (mData ->mFunctions ).find (getFunctionName ( ftok));
1652+ const auto it = utils::as_const (mData ->mFunctions ).find (ftok-> funcname (* this ));
16531653 if (it == mData ->mFunctions .cend ())
16541654 return false ;
16551655 return std::any_of (it->second .argumentChecks .cbegin (), it->second .argumentChecks .cend (), [](const std::pair<const int , Library::ArgumentChecks>& a) {
@@ -1721,7 +1721,7 @@ bool Library::isFunctionConst(const Token *ftok) const
17211721 }
17221722 return false ;
17231723 }
1724- const auto it = utils::as_const (mData ->mFunctions ).find (getFunctionName ( ftok));
1724+ const auto it = utils::as_const (mData ->mFunctions ).find (ftok-> funcname (* this ));
17251725 return (it != mData ->mFunctions .cend () && it->second .isconst );
17261726}
17271727
@@ -1740,7 +1740,7 @@ bool Library::isnoreturn(const Token *ftok) const
17401740 }
17411741 return false ;
17421742 }
1743- const auto it = utils::as_const (mData ->mNoReturn ).find (getFunctionName ( ftok));
1743+ const auto it = utils::as_const (mData ->mNoReturn ).find (ftok-> funcname (* this ));
17441744 if (it == mData ->mNoReturn .end ())
17451745 return false ;
17461746 if (it->second == LibraryData::FalseTrueMaybe::Maybe)
@@ -1753,8 +1753,8 @@ bool Library::isnotnoreturn(const Token *ftok) const
17531753 if (ftok->function () && ftok->function ()->isAttributeNoreturn ())
17541754 return false ;
17551755 if (isNotLibraryFunction (ftok))
1756- return hasAnyTypeCheck (getFunctionName ( ftok));
1757- const auto it = utils::as_const (mData ->mNoReturn ).find (getFunctionName ( ftok));
1756+ return hasAnyTypeCheck (ftok-> funcname (* this ));
1757+ const auto it = utils::as_const (mData ->mNoReturn ).find (ftok-> funcname (* this ));
17581758 if (it == mData ->mNoReturn .end ())
17591759 return false ;
17601760 if (it->second == LibraryData::FalseTrueMaybe::Maybe)
0 commit comments