diff options
Diffstat (limited to 'src/H5Dio.c')
-rw-r--r-- | src/H5Dio.c | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c index 9d83c06..138c746 100644 --- a/src/H5Dio.c +++ b/src/H5Dio.c @@ -275,8 +275,8 @@ H5Dwrite(hid_t dset_id, hid_t mem_type_id, hid_t mem_space_id, } /* end if */ } - if(H5D__pre_write(dset, direct_write, mem_type_id, mem_space, file_space, dxpl_id, buf) < 0) - HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "can't prepare for writing data") + if(H5D_write(dset, direct_write, mem_type_id, mem_space, file_space, dxpl_id, buf) < 0) + HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "can't write data") /* Call index post_update if available */ if (dset->shared->idx_class) { @@ -312,6 +312,33 @@ done: FUNC_LEAVE_API(ret_value) } /* end H5Dwrite() */ +/*------------------------------------------------------------------------- + * Function: H5D_write + * + * Purpose: Private function for H5Dwrite. + * + * Return: Non-negative on success/Negative on failure + * + *------------------------------------------------------------------------- + */ +herr_t +H5D_write(H5D_t *dset, hbool_t direct_write, hid_t mem_type_id, + const H5S_t *mem_space, const H5S_t *file_space, + hid_t dxpl_id, const void *buf) +{ + herr_t ret_value = SUCCEED; /* Return value */ + + HDassert(dset); + + FUNC_ENTER_NOAPI_NOINIT + + if(FAIL == H5D__pre_write(dset, direct_write, mem_type_id, mem_space, file_space, dxpl_id, buf)) + HGOTO_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "can't prepare for writing data") + +done: + FUNC_LEAVE_NOAPI(ret_value) +} + /*------------------------------------------------------------------------- * Function: H5D__pre_write |