summaryrefslogtreecommitdiffstats
path: root/src/H5Dearray.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2009-03-31 19:33:06 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2009-03-31 19:33:06 (GMT)
commit1b0aacf4c8ace172452c646696703e7795ca848e (patch)
tree1d970bc8481776da3a53e42b5bdf698bc8a39e12 /src/H5Dearray.c
parent0051ab6330ac18a74403a1eab35ec93056b531ad (diff)
downloadhdf5-1b0aacf4c8ace172452c646696703e7795ca848e.zip
hdf5-1b0aacf4c8ace172452c646696703e7795ca848e.tar.gz
hdf5-1b0aacf4c8ace172452c646696703e7795ca848e.tar.bz2
[svn-r16638] Description:
When using the "latest" version of the layout message (i.e. version 4), encode the dimension sizes in smaller way. Tested on: FreeBSD/32 6.3 (duty) h5committest not required for this branch
Diffstat (limited to 'src/H5Dearray.c')
-rw-r--r--src/H5Dearray.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/H5Dearray.c b/src/H5Dearray.c
index 1f45bba..e98e988 100644
--- a/src/H5Dearray.c
+++ b/src/H5Dearray.c
@@ -86,7 +86,7 @@ typedef struct H5D_earray_filt_elmt_t {
/********************/
/* Extensible array class callbacks for chunks w/o filters */
-static void *H5D_earray_crt_context(const H5F_t *f);
+static void *H5D_earray_crt_context(void *udata);
static herr_t H5D_earray_dst_context(void *ctx);
static herr_t H5D_earray_fill(void *nat_blk, size_t nelmts);
static herr_t H5D_earray_encode(void *raw, const void *elmt, size_t nelmts,
@@ -205,9 +205,10 @@ H5FL_DEFINE_STATIC(H5D_earray_ctx_t);
*-------------------------------------------------------------------------
*/
static void *
-H5D_earray_crt_context(const H5F_t *f)
+H5D_earray_crt_context(void *_udata)
{
H5D_earray_ctx_t *ctx; /* Extensible array callback context */
+ H5F_t *f = (H5F_t *)_udata; /* User data for extensible array context */
void *ret_value; /* Return value */
FUNC_ENTER_NOAPI_NOINIT(H5D_earray_crt_context)
@@ -604,7 +605,7 @@ H5D_earray_idx_open(const H5D_chk_idx_info_t *idx_info)
/* Open the extensible array for the chunk index */
cls = (idx_info->pline->nused > 0) ? H5EA_CLS_FILT_CHUNK : H5EA_CLS_CHUNK;
- if(NULL == (idx_info->layout->u.chunk.u.earray.ea = H5EA_open(idx_info->f, idx_info->dxpl_id, idx_info->layout->u.chunk.u.earray.addr, cls)))
+ if(NULL == (idx_info->layout->u.chunk.u.earray.ea = H5EA_open(idx_info->f, idx_info->dxpl_id, idx_info->layout->u.chunk.u.earray.addr, cls, idx_info->f)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't open extensible array")
done:
@@ -662,7 +663,7 @@ H5D_earray_idx_create(const H5D_chk_idx_info_t *idx_info)
cparam.max_dblk_page_nelmts_bits = H5D_EARRAY_MAX_DBLOCK_PAGE_NELMTS_BITS;
/* Create the extensible array for the chunk index */
- if(NULL == (idx_info->layout->u.chunk.u.earray.ea = H5EA_create(idx_info->f, idx_info->dxpl_id, &cparam)))
+ if(NULL == (idx_info->layout->u.chunk.u.earray.ea = H5EA_create(idx_info->f, idx_info->dxpl_id, &cparam, idx_info->f)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't create extensible array")
/* Get the address of the extensible array in file */