X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FBasics%2FBasics_DirUtils.cxx;h=01d32f935d8902f17bf74715fdbf756af696504b;hb=7b6895b48ccd982f69db4fe3ecd30d75be0514dc;hp=8a1974a96f21106736cbf46264a0df20e5d2619e;hpb=fe5ea3510b95a62e53548b5f4130d1dc25b9c433;p=modules%2Fkernel.git diff --git a/src/Basics/Basics_DirUtils.cxx b/src/Basics/Basics_DirUtils.cxx index 8a1974a96..01d32f935 100644 --- a/src/Basics/Basics_DirUtils.cxx +++ b/src/Basics/Basics_DirUtils.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -54,22 +54,22 @@ namespace Kernel_Utils std::string GetBaseName( const std::string& file_path, const bool with_extension ) { std::string tmp_str = file_path; - int pos = file_path.rfind( _separator_ ); - if ( pos >= 0 ) - tmp_str = pos < (int)file_path.size()-1 ? file_path.substr( pos+1 ) : ""; + auto pos = file_path.rfind( _separator_ ); + if ( pos != std::string::npos ) + tmp_str = pos < file_path.size()-1 ? file_path.substr( pos+1 ) : ""; pos = tmp_str.rfind( _extension_ ); - if( !with_extension && pos >= 0 ) - tmp_str = pos < (int)tmp_str.size()-1 ? tmp_str.substr( 0, pos ) : ""; + if( !with_extension && pos != std::string::npos ) + tmp_str = pos < tmp_str.size()-1 ? tmp_str.substr( 0, pos ) : ""; return tmp_str; } std::string GetDirName( const std::string& file_path ) { - int pos = file_path.rfind( _separator_ ); - if ( pos >= 0 ) - return pos < (int)file_path.size()-1 ? file_path.substr(0, pos ) : ""; + auto pos = file_path.rfind( _separator_ ); + if ( pos != std::string::npos ) + return pos < file_path.size()-1 ? file_path.substr(0, pos ) : ""; return std::string("."); } @@ -190,8 +190,8 @@ namespace Kernel_Utils std::string AddExtension( const std::string& name ) { std::string tmp_str = name; - int pos = tmp_str.rfind( _extension_ ); - if( pos < 0 ) + auto pos = tmp_str.rfind( _extension_ ); + if( pos == std::string::npos ) return tmp_str.append( _extension_ ); return tmp_str; } @@ -351,4 +351,18 @@ namespace Kernel_Utils std::replace(res.begin(), res.end(), '\\', '/'); return res; } + + + //============================================================================ + // function : BackSlashToSlash + // purpose : Convert back slash to slash + //============================================================================ + std::string HomePath() { +#ifdef WIN32 + std::string homedir = getenv("USERPROFILE"); +#else + std::string homedir = getenv("HOME"); +#endif + return homedir; + } }