Removed some dead code and improved one function to use reference instead of a copy.

This commit is contained in:
Reijo Tomperi 2009-01-31 21:12:24 +00:00
parent 0747cfceb4
commit 6b16b7482a
4 changed files with 2 additions and 22 deletions

View File

@ -49,20 +49,6 @@ CheckDangerousFunctionsClass::~CheckDangerousFunctionsClass()
}
// Modified version of 'ReportError' that also reports the callstack
void CheckDangerousFunctionsClass::ReportError(const std::string &errmsg)
{
std::ostringstream ostr;
std::list<const Token *>::const_iterator it;
for (it = _callStack.begin(); it != _callStack.end(); it++)
ostr << _tokenizer->fileLine(*it) << " -> ";
ostr << errmsg;
_errorLogger->reportErr(ostr.str());
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
// Dangerous functions
//---------------------------------------------------------------------------

View File

@ -37,15 +37,9 @@ public:
private:
/** Report error using the callstack */
void ReportError(const std::string &errmsg);
const Tokenizer *_tokenizer;
const Settings _settings;
ErrorLogger *_errorLogger;
/** callstack - used during intra-function checking */
std::list<const Token *> _callStack;
};
//---------------------------------------------------------------------------

View File

@ -315,7 +315,7 @@ void CheckMemoryLeakClass::MemoryLeak(const Token *tok, const char varname[], Al
}
//---------------------------------------------------------------------------
bool CheckMemoryLeakClass::MatchFunctionsThatReturnArg(const Token *tok, const std::string varname)
bool CheckMemoryLeakClass::MatchFunctionsThatReturnArg(const Token *tok, const std::string &varname)
{
return Token::Match(tok, std::string("; " + varname + " = strcat|memcpy|memmove|strcpy ( " + varname + " ,").c_str());
}

View File

@ -90,7 +90,7 @@ private:
*/
Token *getcode(const Token *tok, std::list<const Token *> callstack, const char varname[], AllocType &alloctype, AllocType &dealloctype, bool classmember, bool &all);
bool notvar(const Token *tok, const char *varnames[]);
bool MatchFunctionsThatReturnArg(const Token *tok, const std::string varname);
bool MatchFunctionsThatReturnArg(const Token *tok, const std::string &varname);
void MemoryLeak(const Token *tok, const char varname[], AllocType alloctype, bool all);
void MismatchError(const Token *Tok1, const std::list<const Token *> &callstack, const char varname[]);
const char * call_func(const Token *tok, std::list<const Token *> callstack, const char *varnames[], AllocType &alloctype, AllocType &dealloctype, bool &all);