summaryrefslogtreecommitdiffstats
path: root/src/H5Dio.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2009-01-27 14:47:26 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2009-01-27 14:47:26 (GMT)
commit661734d541d076c26901190be44e687ad87ef576 (patch)
treed4aa2ac60e7c3af1ca29b5c20eb9c4202fc31030 /src/H5Dio.c
parent92f5db9daf63a4533db475745782f8898b53c489 (diff)
downloadhdf5-661734d541d076c26901190be44e687ad87ef576.zip
hdf5-661734d541d076c26901190be44e687ad87ef576.tar.gz
hdf5-661734d541d076c26901190be44e687ad87ef576.tar.bz2
[svn-r16356] Description:
Bring r16354 back from trunk: Refactor internal layout information, making it easier to add another type of chunk index. Tested on: FreeBSD/32 (duty) (other configurations tested with original change)
Diffstat (limited to 'src/H5Dio.c')
-rw-r--r--src/H5Dio.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c
index 9308c33..c1d57fd 100644
--- a/src/H5Dio.c
+++ b/src/H5Dio.c
@@ -351,8 +351,7 @@ H5D_read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space,
* has been overwritten. So just proceed in reading.
*/
if(nelmts > 0 && dataset->shared->dcpl_cache.efl.nused == 0 &&
- ((dataset->shared->layout.type == H5D_CONTIGUOUS && !H5F_addr_defined(dataset->shared->layout.u.contig.addr))
- || (dataset->shared->layout.type == H5D_CHUNKED && !H5F_addr_defined(dataset->shared->layout.u.chunk.addr)))) {
+ !(*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout)) {
H5D_fill_value_t fill_status; /* Whether/How the fill value is defined */
/* Retrieve dataset's fill-value properties */
@@ -386,8 +385,7 @@ H5D_read(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space,
/* Sanity check that space is allocated, if there are elements */
if(nelmts > 0)
- HDassert(((dataset->shared->layout.type == H5D_CONTIGUOUS && H5F_addr_defined(dataset->shared->layout.u.contig.addr))
- || (dataset->shared->layout.type == H5D_CHUNKED && H5F_addr_defined(dataset->shared->layout.u.chunk.addr)))
+ HDassert((*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout)
|| dataset->shared->dcpl_cache.efl.nused > 0
|| dataset->shared->layout.type == H5D_COMPACT);
@@ -537,8 +535,7 @@ H5D_write(H5D_t *dataset, hid_t mem_type_id, const H5S_t *mem_space,
/* Allocate data space and initialize it if it hasn't been. */
if(nelmts > 0 && dataset->shared->dcpl_cache.efl.nused == 0 &&
- ((dataset->shared->layout.type == H5D_CONTIGUOUS && !H5F_addr_defined(dataset->shared->layout.u.contig.addr))
- || (dataset->shared->layout.type == H5D_CHUNKED && !H5F_addr_defined(dataset->shared->layout.u.chunk.addr)))) {
+ !(*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout)) {
hssize_t file_nelmts; /* Number of elements in file dataset's dataspace */
hbool_t full_overwrite; /* Whether we are over-writing all the elements */