diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2009-03-31 19:33:06 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2009-03-31 19:33:06 (GMT) |
commit | 1b0aacf4c8ace172452c646696703e7795ca848e (patch) | |
tree | 1d970bc8481776da3a53e42b5bdf698bc8a39e12 /src/H5Dearray.c | |
parent | 0051ab6330ac18a74403a1eab35ec93056b531ad (diff) | |
download | hdf5-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.c | 9 |
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 */ |