diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2003-12-31 14:00:36 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2003-12-31 14:00:36 (GMT) |
commit | 738e808d262a79d43a4697bb731c5d2961a006a2 (patch) | |
tree | 64dbf68fe83ebfad007bd655aa0b2536173053e8 /tools/h5repack/h5repack_verify.c | |
parent | ee2eecf1b43916925411798297a06bffd39b76f2 (diff) | |
download | hdf5-738e808d262a79d43a4697bb731c5d2961a006a2.zip hdf5-738e808d262a79d43a4697bb731c5d2961a006a2.tar.gz hdf5-738e808d262a79d43a4697bb731c5d2961a006a2.tar.bz2 |
[svn-r7999] Purpose:
h5repack new features
Description:
added support/ tests for contiguous and compact layout processing
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
Diffstat (limited to 'tools/h5repack/h5repack_verify.c')
-rw-r--r-- | tools/h5repack/h5repack_verify.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/tools/h5repack/h5repack_verify.c b/tools/h5repack/h5repack_verify.c index 4486477..e2545bc 100644 --- a/tools/h5repack/h5repack_verify.c +++ b/tools/h5repack/h5repack_verify.c @@ -96,17 +96,29 @@ int has_layout(hid_t dcpl_id, { hsize_t chsize[64]; /* chunk size in elements */ H5D_layout_t layout; /* layout */ + int nfilters; /* number of filters */ int rank; /* rank */ int i; /* index */ /* if no information about the input layout is requested return exit */ if (obj==NULL) return 1; - - layout = H5Pget_layout(dcpl_id); + + /* check if we have filters in the input object */ + if ((nfilters = H5Pget_nfilters(dcpl_id))<0) + return -1; + + /* a non chunked layout was requested on a filtered object; avoid the test */ + if (nfilters && obj->layout!=H5D_CHUNKED) + return 1; + + /* get layout */ + if ((layout = H5Pget_layout(dcpl_id))<0) + return -1; + if (obj->layout != layout) return 0; - + if (layout==H5D_CHUNKED) { if ((rank = H5Pget_chunk(dcpl_id,NELMTS(chsize),chsize/*out*/))<0) @@ -118,8 +130,6 @@ int has_layout(hid_t dcpl_id, return 0; } - - return 1; } |