diff src/load-save.cc @ 6625:5d02dfacfc9e

[project @ 2007-05-16 08:49:47 by dbateman]
author dbateman
date Wed, 16 May 2007 08:49:48 +0000
parents cd06796e0ed6
children ed74670db09b
line wrap: on
line diff
--- a/src/load-save.cc	Tue May 15 20:17:27 2007 +0000
+++ b/src/load-save.cc	Wed May 16 08:49:48 2007 +0000
@@ -348,7 +348,7 @@
 #endif
 
 static load_save_format
-get_file_format (std::istream& file)
+get_file_format (std::istream& file, const std::string& filename)
 {
   load_save_format retval = LS_UNKNOWN;
 
@@ -374,7 +374,7 @@
 	  file.clear ();
 	  file.seekg (0, std::ios::beg);
 
-	  err = read_mat5_binary_file_header (file, swap, true);
+	  err = read_mat5_binary_file_header (file, swap, true, filename);
 
 	  if (! err)
   	    {
@@ -415,7 +415,7 @@
       
   if (file)
     {
-      retval = get_file_format (file);
+      retval = get_file_format (file, orig_fname);
       file.close ();
 
 #ifdef HAVE_ZLIB
@@ -426,7 +426,7 @@
 
 	  if (gzfile)
 	    {
-	      retval = get_file_format (gzfile);
+	      retval = get_file_format (gzfile, orig_fname);
 	      gzfile.close ();
 	    }
 	}
@@ -925,7 +925,7 @@
 		  else if (format == LS_MAT5_BINARY 
 			   || format == LS_MAT7_BINARY)
 		    {
-		      if (read_mat5_binary_file_header (file, swap, false) < 0)
+		      if (read_mat5_binary_file_header (file, swap, false, orig_fname) < 0)
 			{
 			  if (file) file.close ();
 			  return retval;
@@ -959,7 +959,7 @@
 		  else if (format == LS_MAT5_BINARY 
 			   || format == LS_MAT7_BINARY)
 		    {
-		      if (read_mat5_binary_file_header (file, swap, false) < 0)
+		      if (read_mat5_binary_file_header (file, swap, false, orig_fname) < 0)
 			{
 			  if (file) file.close ();
 			  return retval;
@@ -1400,6 +1400,10 @@
   
       std::ios::openmode mode = std::ios::out;
 
+      // Matlab v7 files are always compressed
+      if (format == LS_MAT7_BINARY)
+	use_zlib = false;
+
       if (format == LS_BINARY
 #ifdef HAVE_HDF5
 	  || format == LS_HDF5
@@ -1667,6 +1671,10 @@
 
       std::ios::openmode mode = std::ios::out;
 
+      // Matlab v7 files are always compressed
+      if (format == LS_MAT7_BINARY)
+	use_zlib = false;
+
       if (format == LS_BINARY
 #ifdef HAVE_HDF5
 	  || format == LS_HDF5