changeset 18869:94d791a03737 stable

Allow loading mat5 files generated from R and Python (bug #42562). * ls-mat5.cc (read_mat5_binary_element): Expand a 1-D object to a 2-D Nx1 object. Matlab always uses 2-D objects even for empty matrices (2-D 0x0).
author Rik <rik@octave.org>
date Mon, 16 Jun 2014 08:55:17 -0700
parents 9c2ff2361864
children 7bf70dc7f06c
files libinterp/corefcn/ls-mat5.cc
diffstat 1 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/ls-mat5.cc	Wed Apr 09 10:23:11 2014 +0200
+++ b/libinterp/corefcn/ls-mat5.cc	Mon Jun 16 08:55:17 2014 -0700
@@ -666,7 +666,15 @@
         }
 
       int ndims = dim_len / 4;
-      dims.resize (ndims);
+      if (ndims == 1)
+        {
+          // R and Python can create a 1-D object which is really an Nx1 object
+          dims.resize (2);
+          dims(1) = 1;
+        }
+      else
+        dims.resize (ndims);
+
       for (int i = 0; i < ndims; i++)
         {
           int32_t n;