diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2000-10-18 16:43:40 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2000-10-18 16:43:40 (GMT) |
commit | 29c5ab73e4bb9ffc281f73325551228aed74522c (patch) | |
tree | 5d509fa9a290f2fc8112c9ed632ed19c29b14999 | |
parent | 07d218b717d42d99a4c48fa8d14e29ed7e998d43 (diff) | |
download | hdf5-29c5ab73e4bb9ffc281f73325551228aed74522c.zip hdf5-29c5ab73e4bb9ffc281f73325551228aed74522c.tar.gz hdf5-29c5ab73e4bb9ffc281f73325551228aed74522c.tar.bz2 |
[svn-r2694] Purpose:
Bug fix
Description:
H5Sget_simple_extent_npoints return type is hsize_t and the error value is
0, but it is possible to have 0 points in a dataset with an unlimited
dimension, but no data written yet.
Solution:
Changed H5Sget_simple_extent_npoints return type to hssize_t and the error
value to -1
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
-rw-r--r-- | src/H5S.c | 22 | ||||
-rw-r--r-- | src/H5Sprivate.h | 2 | ||||
-rw-r--r-- | src/H5Spublic.h | 2 |
3 files changed, 13 insertions, 13 deletions
@@ -741,7 +741,7 @@ H5S_copy(const H5S_t *src) * * Return: Success: Number of data points in the dataset extent. * - * Failure: 0 + * Failure: negative * * Programmer: Robb Matzke * Tuesday, December 9, 1997 @@ -751,13 +751,13 @@ H5S_copy(const H5S_t *src) * *------------------------------------------------------------------------- */ -hsize_t +hssize_t H5S_get_simple_extent_npoints(const H5S_t *ds) { - hsize_t ret_value = 0; + hssize_t ret_value = -1; intn i; - FUNC_ENTER(H5S_get_simple_extent_npoints, 0); + FUNC_ENTER(H5S_get_simple_extent_npoints, -1); /* check args */ assert(ds); @@ -774,12 +774,12 @@ H5S_get_simple_extent_npoints(const H5S_t *ds) break; case H5S_COMPLEX: - HRETURN_ERROR(H5E_DATASPACE, H5E_UNSUPPORTED, 0, + HRETURN_ERROR(H5E_DATASPACE, H5E_UNSUPPORTED, -1, "complex data spaces are not supported yet"); default: assert("unknown data space class" && 0); - HRETURN_ERROR(H5E_DATASPACE, H5E_UNSUPPORTED, 0, + HRETURN_ERROR(H5E_DATASPACE, H5E_UNSUPPORTED, -1, "internal error (unknown data space class)"); } @@ -794,7 +794,7 @@ H5S_get_simple_extent_npoints(const H5S_t *ds) * * Return: Success: Number of data points in the dataset. * - * Failure: 0 + * Failure: negative * * Programmer: Robb Matzke * Tuesday, December 9, 1997 @@ -804,18 +804,18 @@ H5S_get_simple_extent_npoints(const H5S_t *ds) * *------------------------------------------------------------------------- */ -hsize_t +hssize_t H5Sget_simple_extent_npoints(hid_t space_id) { H5S_t *ds = NULL; - hsize_t ret_value = 0; + hssize_t ret_value = -1; - FUNC_ENTER(H5Sget_simple_extent_npoints, 0); + FUNC_ENTER(H5Sget_simple_extent_npoints, -1); H5TRACE1("h","i",space_id); /* Check args */ if (H5I_DATASPACE != H5I_get_type(space_id) || NULL == (ds = H5I_object(space_id))) { - HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a data space"); + HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, -1, "not a data space"); } ret_value = H5S_get_simple_extent_npoints(ds); diff --git a/src/H5Sprivate.h b/src/H5Sprivate.h index 3290a2b..d5b7fc9 100644 --- a/src/H5Sprivate.h +++ b/src/H5Sprivate.h @@ -200,7 +200,7 @@ __DLL__ H5S_t *H5S_copy(const H5S_t *src); __DLL__ herr_t H5S_close(H5S_t *ds); __DLL__ H5S_conv_t *H5S_find(const H5S_t *mem_space, const H5S_t *file_space); __DLL__ H5S_class_t H5S_get_simple_extent_type(const H5S_t *ds); -__DLL__ hsize_t H5S_get_simple_extent_npoints(const H5S_t *ds); +__DLL__ hssize_t H5S_get_simple_extent_npoints(const H5S_t *ds); __DLL__ hsize_t H5S_get_npoints_max(const H5S_t *ds); __DLL__ intn H5S_get_simple_extent_ndims(const H5S_t *ds); __DLL__ intn H5S_get_simple_extent_dims(const H5S_t *ds, hsize_t dims[]/*out*/, diff --git a/src/H5Spublic.h b/src/H5Spublic.h index 3f57139..21a884c 100644 --- a/src/H5Spublic.h +++ b/src/H5Spublic.h @@ -60,7 +60,7 @@ __DLL__ herr_t H5Sset_extent_simple(hid_t space_id, int rank, const hsize_t max[]); __DLL__ hid_t H5Scopy(hid_t space_id); __DLL__ herr_t H5Sclose(hid_t space_id); -__DLL__ hsize_t H5Sget_simple_extent_npoints(hid_t space_id); +__DLL__ hssize_t H5Sget_simple_extent_npoints(hid_t space_id); __DLL__ int H5Sget_simple_extent_ndims(hid_t space_id); __DLL__ int H5Sget_simple_extent_dims(hid_t space_id, hsize_t dims[], hsize_t maxdims[]); |