diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2003-11-06 13:43:06 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2003-11-06 13:43:06 (GMT) |
commit | 9bd97b4496fa2159289bb7b2b789b2c46473244b (patch) | |
tree | 54a041aefea9ee6fabb189eec107ac2d8076127f /src/H5Zszip.c | |
parent | 40a64a6938100bbfe1524184bbbf12e2300dac62 (diff) | |
download | hdf5-9bd97b4496fa2159289bb7b2b789b2c46473244b.zip hdf5-9bd97b4496fa2159289bb7b2b789b2c46473244b.tar.gz hdf5-9bd97b4496fa2159289bb7b2b789b2c46473244b.tar.bz2 |
[svn-r7821] Purpose:
Bug fix
Description:
Don't check the number of szip parameters set during the "can apply" and
"set local" callbacks, be safe about setting the parameters instead.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
Diffstat (limited to 'src/H5Zszip.c')
-rw-r--r-- | src/H5Zszip.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/src/H5Zszip.c b/src/H5Zszip.c index bf3bcda..d081521 100644 --- a/src/H5Zszip.c +++ b/src/H5Zszip.c @@ -100,10 +100,6 @@ H5Z_can_apply_szip(hid_t dcpl_id, hid_t type_id, hid_t space_id) if(H5Pget_filter_by_id(dcpl_id,H5Z_FILTER_SZIP,&flags,&cd_nelmts, cd_values,0,NULL)<0) HGOTO_ERROR(H5E_PLINE, H5E_CANTGET, FAIL, "can't get szip parameters"); - /* Check that no parameters are currently set */ - if(cd_nelmts!=H5Z_SZIP_USER_NPARMS) - HGOTO_ERROR(H5E_PLINE, H5E_BADVALUE, FAIL, "incorrect # of szip parameters"); - /* Get datatype's size, for checking the "bits-per-pixel" */ if((dtype_size=(sizeof(unsigned char)*H5Tget_size(type_id)))==0) HGOTO_ERROR(H5E_PLINE, H5E_BADTYPE, FAIL, "bad datatype size"); @@ -174,10 +170,6 @@ H5Z_set_local_szip(hid_t dcpl_id, hid_t type_id, hid_t space_id) if(H5Pget_filter_by_id(dcpl_id,H5Z_FILTER_SZIP,&flags,&cd_nelmts, cd_values,0,NULL)<0) HGOTO_ERROR(H5E_PLINE, H5E_CANTGET, FAIL, "can't get szip parameters"); - /* Check that no parameters are currently set */ - if(cd_nelmts!=H5Z_SZIP_USER_NPARMS) - HGOTO_ERROR(H5E_PLINE, H5E_BADVALUE, FAIL, "incorrect # of szip parameters"); - /* Get dimensions for dataspace */ if ((ndims=H5Sget_simple_extent_dims(space_id, dims, NULL))<0) HGOTO_ERROR(H5E_PLINE, H5E_CANTGET, FAIL, "unable to get dataspace dimensions"); @@ -196,6 +188,7 @@ H5Z_set_local_szip(hid_t dcpl_id, hid_t type_id, hid_t space_id) /* Set the correct endianness flag for szip */ /* (Note: this may not handle non-atomic datatypes well) */ + cd_values[H5Z_SZIP_PARM_MASK] &= ~(SZ_LSB_OPTION_MASK|SZ_MSB_OPTION_MASK); switch(dtype_order) { case H5T_ORDER_LE: /* Little-endian byte order */ cd_values[H5Z_SZIP_PARM_MASK] |= SZ_LSB_OPTION_MASK; |