X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FMEDLoader%2FMEDLoaderBase.cxx;h=b2f8fd78a5e53b3cf84b2559bff8811449dbf451;hb=97ace34a0d092b676228a0ab6cb5abefa9637e32;hp=e35e58563c7aeeb82c49aa410b4e8b1dba733f91;hpb=ba46d95e15064cd3768d78ec9ffff33bb72fcec5;p=tools%2Fmedcoupling.git diff --git a/src/MEDLoader/MEDLoaderBase.cxx b/src/MEDLoader/MEDLoaderBase.cxx index e35e58563..b2f8fd78a 100644 --- a/src/MEDLoader/MEDLoaderBase.cxx +++ b/src/MEDLoader/MEDLoaderBase.cxx @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D +// Copyright (C) 2007-2019 CEA/DEN, EDF R&D // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -28,16 +28,16 @@ const char MEDLoaderBase::WHITE_SPACES[]=" \n"; -int MEDLoaderBase::getStatusOfFile(const char *fileName) +int MEDLoaderBase::getStatusOfFile(const std::string& fileName) { std::ifstream ifs; - ifs.open(fileName); + ifs.open(fileName.c_str()); if((ifs.rdstate() & std::ifstream::failbit)!=0) { ifs.close(); return NOT_EXIST; } - std::ofstream ofs(fileName,std::ios_base::app); + std::ofstream ofs(fileName.c_str(),std::ios_base::app); if((ofs.rdstate() & std::ofstream::failbit)!=0) { return EXIST_RDONLY; @@ -89,7 +89,7 @@ std::string MEDLoaderBase::buildUnionUnit(const char *name, int nameLgth, const { std::string ret(buildStringFromFortran(name,nameLgth)); std::string unitCpp(buildStringFromFortran(unit,unitLgth)); - if(unitCpp[0]=='\0') + if(unitCpp.empty() || unitCpp[0]=='\0') return ret; ret+=" ["; ret+=unitCpp; @@ -130,7 +130,7 @@ void MEDLoaderBase::strip(std::string& s) /*! * This method operates a safe copy from 'src' to 'dest' by checking the size of 'src' before trying to copy. - * If size of 'src' string is higher than 'maxLgth' the behaviour is dependant from 'behaviour' parameter. + * If size of 'src' string is higher than 'maxLgth' the behaviour is dependent from 'behaviour' parameter. * If 'behaviour' equals 0 an exception is thrown. If 'behaviour' equals 1 an attempt of zipping of string will be done * ( see zipString to have more details). */ @@ -177,7 +177,8 @@ void MEDLoaderBase::safeStrCpy2(const char *src, int maxLgth, char *dest, int be return ; } } - int n=strlen(src); + int n(strlen(src)); + std::fill(dest,dest+maxLgth,' '); strncpy(dest,src,n); } @@ -199,7 +200,7 @@ std::string MEDLoaderBase::buildStringFromFortran(const char *expr, int lgth) * This method given the target size to respect 'sizeToRespect' tries to reduce size of 'src' string. * This method uses several soft methods to do its job. But if it fails a simple cut of string will be performed. */ -std::string MEDLoaderBase::zipString(const char *src, int sizeToRespect) +std::string MEDLoaderBase::zipString(const std::string& src, int sizeToRespect) { std::string s(src); strip(s);