Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
IPAL53870: Dump study script creates an excess sub-mesh
[modules/smesh.git]
/
src
/
DriverUNV
/
UNV_Utilities.hxx
diff --git
a/src/DriverUNV/UNV_Utilities.hxx
b/src/DriverUNV/UNV_Utilities.hxx
index 1e0f42f5b57eadc8eb50c417b492455fa47c41db..5f38f3aaab94c5c865114529c1ae07fd4ef07a25 100644
(file)
--- a/
src/DriverUNV/UNV_Utilities.hxx
+++ b/
src/DriverUNV/UNV_Utilities.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
3
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-201
6
CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-6,7
+6,7
@@
// 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
// 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
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
@@
-36,7
+36,7
@@
namespace UNV{
using namespace std;
namespace UNV{
using namespace std;
- const size_t theMaxLineLen = 8
0;
+ const size_t theMaxLineLen = 8
2; // 80 for text + 2 for "\r\n"
class MESHDRIVERUNV_EXPORT PrefixPrinter{
static int myCounter;
class MESHDRIVERUNV_EXPORT PrefixPrinter{
static int myCounter;
@@
-56,24
+56,27
@@
namespace UNV{
{
assert (in_file.good());
assert (!ds_name.empty());
{
assert (in_file.good());
assert (!ds_name.empty());
-
+
std::string olds, news;
std::string olds, news;
-
+
in_file.seekg(0);
in_file.seekg(0);
- while(true){
+ while(true)
+ {
in_file >> olds >> news;
/*
* a "-1" followed by a number means the beginning of a dataset
* stop combing at the end of the file
*/
in_file >> olds >> news;
/*
* a "-1" followed by a number means the beginning of a dataset
* stop combing at the end of the file
*/
- while( ((olds != "-1") || (news == "-1") ) && !in_file.eof() ){
+ while( ((olds != "-1") || (news == "-1")))
+ {
olds = news;
in_file >> news;
olds = news;
in_file >> news;
- }
- if(in_file.eof())
- {
- in_file.clear();
- return false;
+
+ if ( in_file.eof() || in_file.fail() )
+ {
+ in_file.clear();
+ return false;
+ }
}
if (news == ds_name)
return true;
}
if (news == ds_name)
return true;
@@
-90,17
+93,17
@@
namespace UNV{
*/
inline double D_to_e(std::string& number)
{
*/
inline double D_to_e(std::string& number)
{
- /* find "D" in string, start looking at
+ /* find "D" in string, start looking at
* 6th element, to improve speed.
* We dont expect a "D" earlier
*/
* 6th element, to improve speed.
* We dont expect a "D" earlier
*/
- const
in
t position = number.find("D",6);
- if
(position != std::string::npos){
- number.replace(position, 1, "e");
- }
+ const
size_
t position = number.find("D",6);
+ if
( position != std::string::npos )
+ number.replace(position, 1, "e");
+
return atof (number.c_str());
}
return atof (number.c_str());
}
-
+
/**
* @returns \p false when file is incorrect, \p true otherwise.
* Check file with name \p theFileName for correct terminate
/**
* @returns \p false when file is incorrect, \p true otherwise.
* Check file with name \p theFileName for correct terminate
@@
-128,15
+131,14
@@
namespace UNV{
*/
inline std::string read_line(std::ifstream& in_stream, const bool next=true)
{
*/
inline std::string read_line(std::ifstream& in_stream, const bool next=true)
{
-
char line[theMaxLineLen]
;
-
in_stream.getline( line, theMaxLineLen
);
+
std::string resLine
;
+
std::getline( in_stream, resLine
);
if ( next )
if ( next )
-
in_stream.getline( line, theMaxLineLen
);
+
std::getline( in_stream, resLine
);
- std::string resLine = line;
if ( resLine.size() > 0 && resLine[ resLine.size()-1 ] == '\r' )
resLine.resize( resLine.size()-1 );
if ( resLine.size() > 0 && resLine[ resLine.size()-1 ] == '\r' )
resLine.resize( resLine.size()-1 );
- return
l
ine;
+ return
resL
ine;
}
};
}
};