summaryrefslogtreecommitdiffstats
path: root/src/H5Sall.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2015-10-05 17:52:31 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2015-10-05 17:52:31 (GMT)
commit0fb60ee7aeb183adcc188302b76b660aeaf8d41e (patch)
tree1fd117d37351e6ac873164a2164dd481b218e193 /src/H5Sall.c
parent888a002cddaa4e1d9a165ea01dfe62f399df9eb9 (diff)
parent81c4e2133afafac614e21675c927ea5cca109083 (diff)
downloadhdf5-0fb60ee7aeb183adcc188302b76b660aeaf8d41e.zip
hdf5-0fb60ee7aeb183adcc188302b76b660aeaf8d41e.tar.gz
hdf5-0fb60ee7aeb183adcc188302b76b660aeaf8d41e.tar.bz2
[svn-r27958] Description:
Reintegration merge of the VDS branch. Tested on: MacOSX/64 10.10.5 (amazon) w/serial & parallel (daily tested for h5committest)
Diffstat (limited to 'src/H5Sall.c')
-rw-r--r--src/H5Sall.c42
1 files changed, 40 insertions, 2 deletions
diff --git a/src/H5Sall.c b/src/H5Sall.c
index b8a39cc..fb6b45f 100644
--- a/src/H5Sall.c
+++ b/src/H5Sall.c
@@ -40,9 +40,11 @@ static herr_t H5S_all_release(H5S_t *space);
static htri_t H5S_all_is_valid(const H5S_t *space);
static hssize_t H5S_all_serial_size(const H5S_t *space);
static herr_t H5S_all_serialize(const H5S_t *space, uint8_t **p);
-static herr_t H5S_all_deserialize(H5S_t *space, const uint8_t **p);
+static herr_t H5S_all_deserialize(H5S_t *space, uint32_t version, uint8_t flags,
+ const uint8_t **p);
static herr_t H5S_all_bounds(const H5S_t *space, hsize_t *start, hsize_t *end);
static herr_t H5S_all_offset(const H5S_t *space, hsize_t *off);
+static int H5S__all_unlim_dim(const H5S_t *space);
static htri_t H5S_all_is_contiguous(const H5S_t *space);
static htri_t H5S_all_is_single(const H5S_t *space);
static htri_t H5S_all_is_regular(const H5S_t *space);
@@ -74,6 +76,8 @@ const H5S_select_class_t H5S_sel_all[1] = {{
H5S_all_deserialize,
H5S_all_bounds,
H5S_all_offset,
+ H5S__all_unlim_dim,
+ NULL,
H5S_all_is_contiguous,
H5S_all_is_single,
H5S_all_is_regular,
@@ -545,6 +549,8 @@ H5S_all_serialize(const H5S_t *space, uint8_t **p)
herr_t H5S_all_deserialize(space, p)
H5S_t *space; IN/OUT: Dataspace pointer to place
selection into
+ uint32_t version IN: Selection version
+ uint8_t flags IN: Selection flags
uint8 **p; OUT: Pointer to buffer holding serialized
selection. Will be advanced to end of
serialized selection.
@@ -559,7 +565,8 @@ H5S_all_serialize(const H5S_t *space, uint8_t **p)
REVISION LOG
--------------------------------------------------------------------------*/
static herr_t
-H5S_all_deserialize(H5S_t *space, const uint8_t H5_ATTR_UNUSED **p)
+H5S_all_deserialize(H5S_t *space, uint32_t H5_ATTR_UNUSED version, uint8_t H5_ATTR_UNUSED flags,
+ const uint8_t H5_ATTR_UNUSED **p)
{
herr_t ret_value = SUCCEED; /* return value */
@@ -665,6 +672,36 @@ H5S_all_offset(const H5S_t H5_ATTR_UNUSED *space, hsize_t *offset)
/*--------------------------------------------------------------------------
NAME
+ H5S__all_unlim_dim
+ PURPOSE
+ Return unlimited dimension of selection, or -1 if none
+ USAGE
+ int H5S__all_unlim_dim(space)
+ H5S_t *space; IN: Dataspace pointer to check
+ RETURNS
+ Unlimited dimension of selection, or -1 if none (never fails).
+ DESCRIPTION
+ Returns the index of the unlimited dimension in this selection, or -1
+ if the selection has no unlimited dimension. "All" selections are
+ always unlimited in every dimension, though this is not reflected in
+ other calls, where the selection is "clipped" against the current
+ extent, so for consistency this function always returns -1.
+ GLOBAL VARIABLES
+ COMMENTS, BUGS, ASSUMPTIONS
+ EXAMPLES
+ REVISION LOG
+--------------------------------------------------------------------------*/
+static int
+H5S__all_unlim_dim(const H5S_t H5_ATTR_UNUSED *space)
+{
+ FUNC_ENTER_STATIC_NOERR
+
+ FUNC_LEAVE_NOAPI(-1)
+} /* end H5S__all_unlim_dim() */
+
+
+/*--------------------------------------------------------------------------
+ NAME
H5S_all_is_contiguous
PURPOSE
Check if a "all" selection is contiguous within the dataspace extent.
@@ -982,6 +1019,7 @@ H5S_all_get_seq_list(const H5S_t H5_ATTR_UNUSED *space, unsigned H5_ATTR_UNUSED
/* Determine the actual number of elements to use */
H5_CHECK_OVERFLOW(iter->elmt_left,hsize_t,size_t);
elem_used=MIN(maxelem,(size_t)iter->elmt_left);
+ HDassert(elem_used > 0);
/* Compute the offset in the dataset */
off[0]=iter->u.all.byte_offset;