summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2000-10-18 16:43:40 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2000-10-18 16:43:40 (GMT)
commit29c5ab73e4bb9ffc281f73325551228aed74522c (patch)
tree5d509fa9a290f2fc8112c9ed632ed19c29b14999
parent07d218b717d42d99a4c48fa8d14e29ed7e998d43 (diff)
downloadhdf5-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.c22
-rw-r--r--src/H5Sprivate.h2
-rw-r--r--src/H5Spublic.h2
3 files changed, 13 insertions, 13 deletions
diff --git a/src/H5S.c b/src/H5S.c
index 5db6c7a..6000be2 100644
--- a/src/H5S.c
+++ b/src/H5S.c
@@ -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[]);