diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2001-06-14 20:11:19 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2001-06-14 20:11:19 (GMT) |
commit | 4d9cce57b4827b0e94f50f9488a87d3f9b5166fc (patch) | |
tree | d95a82bac819d5880de1b80c22e505aac477e28b /src/H5Shyper.c | |
parent | e67b8f86ecd8e730055f10d3ab885d27cd032082 (diff) | |
download | hdf5-4d9cce57b4827b0e94f50f9488a87d3f9b5166fc.zip hdf5-4d9cce57b4827b0e94f50f9488a87d3f9b5166fc.tar.gz hdf5-4d9cce57b4827b0e94f50f9488a87d3f9b5166fc.tar.bz2 |
[svn-r4002] Purpose:
Bug fix/code improvement.
Description:
'all' selections were (ab)using the array reading code and required that
the internal data transfer buffer size be big enough to hold the an entire
slab of the data, which was confusing and limiting for users.
Solution:
Changed 'all' selections to use sequence reading code instead of array
reading code.
Platforms tested:
FreeBSD 4.3 (hawkwind)
Diffstat (limited to 'src/H5Shyper.c')
-rw-r--r-- | src/H5Shyper.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/H5Shyper.c b/src/H5Shyper.c index 4eb1de6..8e0fd0d 100644 --- a/src/H5Shyper.c +++ b/src/H5Shyper.c @@ -77,7 +77,7 @@ static hsize_t H5S_hyper_fwrite_opt (H5F_t *f, const struct H5O_layout_t *layout const H5S_t *file_space, H5S_sel_iter_t *file_iter, hsize_t nelmts, hid_t dxpl_id, const void *_buf); static herr_t H5S_hyper_init (const struct H5O_layout_t *layout, - const H5S_t *space, H5S_sel_iter_t *iter, size_t *min_elem_out); + const H5S_t *space, H5S_sel_iter_t *iter); static hsize_t H5S_hyper_favail (const H5S_t *space, const H5S_sel_iter_t *iter, hsize_t max); static hsize_t H5S_hyper_fgath (H5F_t *f, const struct H5O_layout_t *layout, @@ -173,8 +173,7 @@ H5FL_BLK_DEFINE_STATIC(hyper_block); */ static herr_t H5S_hyper_init (const struct H5O_layout_t UNUSED *layout, - const H5S_t *space, H5S_sel_iter_t *sel_iter, - size_t UNUSED *min_elem_out) + const H5S_t *space, H5S_sel_iter_t *sel_iter) { FUNC_ENTER (H5S_hyper_init, FAIL); @@ -5408,7 +5407,6 @@ H5S_hyper_select_iterate(void *buf, hid_t type_id, H5S_t *space, H5D_operator_t { H5S_hyper_iter_info_t iter_info; /* Block of parameters to pass into recursive calls */ H5S_sel_iter_t iter; /* selection iteration info*/ - size_t min_elem_out=1; /* Minimum # of elements to output*/ herr_t ret_value=FAIL; /* return value */ FUNC_ENTER (H5S_hyper_select_iterate, FAIL); @@ -5419,7 +5417,7 @@ H5S_hyper_select_iterate(void *buf, hid_t type_id, H5S_t *space, H5D_operator_t assert(H5I_DATATYPE == H5I_get_type(type_id)); /* Initialize the selection iterator */ - if (H5S_hyper_init(NULL, space, &iter, &min_elem_out)<0) { + if (H5S_hyper_init(NULL, space, &iter)<0) { HGOTO_ERROR (H5E_DATASPACE, H5E_CANTINIT, FAIL, "unable to initialize selection information"); } |