changes to _H5Block_init so that only 1 dataset creation plist is created and reused

This commit is contained in:
Marc Howison
2009-07-06 21:31:42 +00:00
parent cd0391db7e
commit 01aa167339
+8 -9
View File
@@ -133,12 +133,14 @@ _H5Block_init (
b->diskshape = -1;
b->memshape = -1;
b->field_group_id = -1;
b->create_prop = H5P_DEFAULT;
b->have_layout = 0;
b->chunk[0] = 0;
b->chunk[1] = 0;
b->chunk[2] = 0;
b->create_prop = H5Pcreate ( H5P_DATASET_CREATE );
if ( b->create_prop < 0 ) return HANDLE_H5P_CREATE_ERR;
f->close_block = _H5Block_close;
return H5PART_SUCCESS;
@@ -182,12 +184,12 @@ _H5Block_close (
if ( herr < 0 ) return HANDLE_H5S_CLOSE_ERR;
b->memshape = -1;
}
if ( b->create_prop != H5P_DEFAULT ) {
herr = H5Pclose ( b->create_prop );
if ( herr < 0 ) return HANDLE_H5P_CLOSE_ERR ("create_prop");
b->create_prop = H5P_DEFAULT;
}
herr = H5Pclose ( b->create_prop );
if ( herr < 0 ) return HANDLE_H5P_CLOSE_ERR ( "create_prop" );
free ( f->block );
f->block = NULL;
f->close_block = NULL;
@@ -786,9 +788,6 @@ H5BlockDefine3DChunkDims(
(long long)b->chunk[1],
(long long)b->chunk[0] );
b->create_prop = H5Pcreate (H5P_DATASET_CREATE);
if (b->create_prop < 0) return HANDLE_H5P_CREATE_ERR;
herr_t herr = H5Pset_chunk ( b->create_prop, 3, b->chunk );
if ( herr < 0 ) return HANDLE_H5P_SET_CHUNK_ERR;