diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-02-23 16:52:45 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2004-02-23 16:52:45 (GMT) |
commit | f29e2a01e35e466fdcc292a0c443265efdf4b025 (patch) | |
tree | ea6ae0ace8c1cf49c0fe8b9c493120e71cc001d1 /src | |
parent | fe388e2c1303c515f36b9a595a2820db950b9413 (diff) | |
download | hdf5-f29e2a01e35e466fdcc292a0c443265efdf4b025.zip hdf5-f29e2a01e35e466fdcc292a0c443265efdf4b025.tar.gz hdf5-f29e2a01e35e466fdcc292a0c443265efdf4b025.tar.bz2 |
[svn-r8218] Purpose:
bug fix in H5Zshuffle.c
add more tests to h5repack that exposed the bug
Description:
when creating a dataset with the shuffle filter and duplicating it in a new dataset (file)
the call to H5Z_set_local_shuffle failed. this is because the value of cd_nelmts of the filter
structure is set to 1 (H5Z_SHUFFLE_TOTAL_NPARMS) when the original dataset is created, but when
the new dataset is created there is a checking instruction that fails if the value of
cd_nelmts is not 0 (its original value, H5Z_SHUFFLE_USER_NPARMS)
Solution:
just remove that check condition, since the value of cd_nelmts is not used anyway.
if we decide that the value of cd_nelmts is necessary, then the H5O_pline_copy function
must be changed to update this value (a different update for each filter)
Platforms tested:
linux
solaris
AIX
Misc. update:
Diffstat (limited to 'src')
-rw-r--r-- | src/H5Zshuffle.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/src/H5Zshuffle.c b/src/H5Zshuffle.c index eb95f98..196f037 100644 --- a/src/H5Zshuffle.c +++ b/src/H5Zshuffle.c @@ -82,10 +82,6 @@ H5Z_set_local_shuffle(hid_t dcpl_id, hid_t type_id, hid_t UNUSED space_id) if(H5Pget_filter_by_id(dcpl_id,H5Z_FILTER_SHUFFLE,&flags,&cd_nelmts, cd_values,0,NULL)<0) HGOTO_ERROR(H5E_PLINE, H5E_CANTGET, FAIL, "can't get shuffle parameters") - /* Check that no parameters are currently set */ - if(cd_nelmts!=H5Z_SHUFFLE_USER_NPARMS) - HGOTO_ERROR(H5E_PLINE, H5E_BADVALUE, FAIL, "incorrect # of shuffle parameters") - /* Set "local" parameter for this dataset */ if((cd_values[H5Z_SHUFFLE_PARM_SIZE]=(unsigned)H5Tget_size(type_id))==0) HGOTO_ERROR(H5E_PLINE, H5E_BADTYPE, FAIL, "bad datatype size") |