From 6608c37b9eb69d03a07b2c1b64352af6bb055783 Mon Sep 17 00:00:00 2001 From: Giovanni Bussi <giovanni.bussi@gmail.com> Date: Wed, 12 Dec 2018 07:52:46 +0100 Subject: [PATCH] Fixes for cppcheck 1.86 cc: @valsson --- src/tools/HistogramBead.cpp | 5 ++++- src/tools/IFile.cpp | 9 ++++++--- src/tools/SwitchingFunction.cpp | 5 ++++- src/ves/FermiSwitchingFunction.cpp | 5 ++++- src/ves/MD_LinearExpansionPES.cpp | 4 ++-- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/tools/HistogramBead.cpp b/src/tools/HistogramBead.cpp index 3c17ce144..ba54b8951 100644 --- a/src/tools/HistogramBead.cpp +++ b/src/tools/HistogramBead.cpp @@ -139,7 +139,10 @@ void HistogramBead::generateBins( const std::string& params, std::vector<std::st void HistogramBead::set( const std::string& params, std::string& errormsg ) { std::vector<std::string> data=Tools::getWords(params); - if(data.size()<1) errormsg="No input has been specified"; + if(data.size()<1) { + errormsg="No input has been specified"; + return; + } std::string name=data[0]; const double DP2CUTOFF=6.25; if(name=="GAUSSIAN") { type=gaussian; cutoff=sqrt(2.0*DP2CUTOFF); } diff --git a/src/tools/IFile.cpp b/src/tools/IFile.cpp index 7cb119d22..1c6c07faa 100644 --- a/src/tools/IFile.cpp +++ b/src/tools/IFile.cpp @@ -64,7 +64,8 @@ IFile& IFile::advanceField() { bool done=false; while(!done) { getline(line); - if(!*this) {return *this;} +// using explicit conversion not to confuse cppcheck 1.86 + if(!bool(*this)) {return *this;} std::vector<std::string> words=Tools::getWords(line); if(words.size()>=2 && words[0]=="#!" && words[1]=="FIELDS") { fields.clear(); @@ -124,7 +125,8 @@ IFile& IFile::open(const std::string&path) { IFile& IFile::scanFieldList(std::vector<std::string>&s) { if(!inMiddleOfField) advanceField(); - if(!*this) return *this; +// using explicit conversion not to confuse cppcheck 1.86 + if(!bool(*this)) return *this; s.clear(); for(unsigned i=0; i<fields.size(); i++) s.push_back(fields[i].name); @@ -141,7 +143,8 @@ bool IFile::FieldExist(const std::string& s) { IFile& IFile::scanField(const std::string&name,std::string&str) { if(!inMiddleOfField) advanceField(); - if(!*this) return *this; +// using explicit conversion not to confuse cppcheck 1.86 + if(!bool(*this)) return *this; unsigned i=findField(name); str=fields[i].value; fields[i].read=true; diff --git a/src/tools/SwitchingFunction.cpp b/src/tools/SwitchingFunction.cpp index 0ede23924..2acf4c7f4 100644 --- a/src/tools/SwitchingFunction.cpp +++ b/src/tools/SwitchingFunction.cpp @@ -186,7 +186,10 @@ void SwitchingFunction::registerKeywords( Keywords& keys ) { void SwitchingFunction::set(const std::string & definition,std::string& errormsg) { vector<string> data=Tools::getWords(definition); - if( data.size()<1 ) errormsg="missing all input for switching function"; + if( data.size()<1 ) { + errormsg="missing all input for switching function"; + return; + } string name=data[0]; data.erase(data.begin()); invr0=0.0; diff --git a/src/ves/FermiSwitchingFunction.cpp b/src/ves/FermiSwitchingFunction.cpp index a53ab6f6a..f0695c4e8 100644 --- a/src/ves/FermiSwitchingFunction.cpp +++ b/src/ves/FermiSwitchingFunction.cpp @@ -41,7 +41,10 @@ void FermiSwitchingFunction::registerKeywords( Keywords& keys ) { void FermiSwitchingFunction::set(const std::string& definition,std::string& errormsg) { std::vector<std::string> data=Tools::getWords(definition); - if( data.size()<1 ) errormsg="missing all input for switching function"; + if( data.size()<1 ) { + errormsg="missing all input for switching function"; + return; + } std::string name=data[0]; data.erase(data.begin()); if(name!="FERMI") {errormsg="only FERMI is supported";} diff --git a/src/ves/MD_LinearExpansionPES.cpp b/src/ves/MD_LinearExpansionPES.cpp index d44f0767d..f73489b11 100644 --- a/src/ves/MD_LinearExpansionPES.cpp +++ b/src/ves/MD_LinearExpansionPES.cpp @@ -236,8 +236,8 @@ int MD_LinearExpansionPES::main( FILE* in, FILE* out, PLMD::Communicator& pc) { parse("nstep",nsteps); double tstep; parse("tstep",tstep); - // - double temp; + // initialize to solve a cppcheck 1.86 warning + double temp=0.0; std::vector<double> temps_vec(0); parseVector("temperature",temps_vec); if(temps_vec.size()==1) { -- GitLab