Revert "Bug HDF5: Correct the write of emptymatrix test_run('optimization','bug_7093')" 66/8766/2
Vincent COUVERT [Wed, 22 Aug 2012 08:51:45 +0000 (10:51 +0200)]
This reverts commit 896c2b525f044c31f6639bc140d9f0e3d3196aa7

scilab/modules/hdf5/src/c/h5_readDataFromFile.c
scilab/modules/hdf5/src/c/h5_writeDataToFile.c
scilab/modules/hdf5/tests/sample_scilab_data/emptymatrix.sod

index f436f8f..b08bf4f 100644 (file)
@@ -267,8 +267,7 @@ int getDatasetInfo(int _iDatasetId, int* _iComplex, int* _iDims, int* _piDims)
         return -1;
     }
 
-
-    if(_piDims != NULL)
+    if(_piDims != 0)
     {
         int i = 0;
         hsize_t* dims = (hsize_t*)MALLOC(sizeof(hsize_t) * *_iDims);
index 19ac052..a41c69f 100644 (file)
@@ -448,18 +448,15 @@ int writeDoubleMatrix(int _iFile, char *_pstDatasetName, int _iDims, int* _piDim
 
     piDims = convertDims(_iDims, _piDims, &iSize);
 
-    //Create dataspace.  Setting maximum size to NULL sets the maximum size to be the current size.
-    space = H5Screate_simple(_iDims, piDims, NULL);
-    if (space < 0)
-    {
-        free(piDims);
-        return -1;
-    }
-
     if (_iDims == 2 && piDims[0] == 0 && piDims[1] == 0)
     {
         // []
-      
+        space = H5Screate_simple(0, NULL, NULL);
+        if (space < 0)
+        {
+            free(piDims);
+            return -1;
+        }
 
         //Create the dataset and write the array data to it.
         iCompress = enableCompression(9, _iDims, piDims);
@@ -493,7 +490,13 @@ int writeDoubleMatrix(int _iFile, char *_pstDatasetName, int _iDims, int* _piDim
         return 0;
     }
 
-    
+    //Create dataspace.  Setting maximum size to NULL sets the maximum size to be the current size.
+    space = H5Screate_simple(_iDims, piDims, NULL);
+    if (space < 0)
+    {
+        free(piDims);
+        return -1;
+    }
 
     //Create the dataset and write the array data to it.
     iCompress = enableCompression(9, _iDims, piDims);
index cdaada8..aaeb4b5 100644 (file)
Binary files a/scilab/modules/hdf5/tests/sample_scilab_data/emptymatrix.sod and b/scilab/modules/hdf5/tests/sample_scilab_data/emptymatrix.sod differ