Salome HOME
BUG: impossible to import a med file of size more than MAX_INT (~2.1 Gb)
[modules/smesh.git] / src / SMESHUtils / SMESH_File.cxx
index 10c1f533f1d4a238613f739a18aa51a1233d453c..556212201577637d642265fd613a4cc9ecde78b8 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -75,7 +75,7 @@ SMESH_File::~SMESH_File()
 
 bool SMESH_File::open()
 {
-  int length = size();
+  long length = size();
   if ( !_map && length > 0 )
   {
 #ifdef WIN32
@@ -188,7 +188,7 @@ long SMESH_File::size()
   boost::uintmax_t size = boofs::file_size( _name, err );
   _error = err.message();
 
-  return err ? -1 : (long) size;
+  return !err ? (long) size : -1;
 }
 
 //================================================================================