diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2012-05-23 16:59:53 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2012-05-23 16:59:53 (GMT) |
commit | 7d289e8a697aba2f537a62d3b6352e357b3bd83b (patch) | |
tree | f8ee2ad40254c1a19f0512cca1eabdb06801c17c /src/H5F.c | |
parent | 1440f1cd87522330ed5bff30d546cacc05adf18e (diff) | |
download | hdf5-7d289e8a697aba2f537a62d3b6352e357b3bd83b.zip hdf5-7d289e8a697aba2f537a62d3b6352e357b3bd83b.tar.gz hdf5-7d289e8a697aba2f537a62d3b6352e357b3bd83b.tar.bz2 |
[svn-r22395] remove the high level ID implementation that wraps the actual ID, and
store the VOL plugin in an auxilary structure in the ID pointer.
Diffstat (limited to 'src/H5F.c')
-rw-r--r-- | src/H5F.c | 205 |
1 files changed, 66 insertions, 139 deletions
@@ -199,14 +199,14 @@ H5F_term_interface(void) *------------------------------------------------------------------------- */ hid_t -H5Fget_create_plist(hid_t uid) +H5Fget_create_plist(hid_t file_id) { hid_t ret_value; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE1("i", "i", uid); + H5TRACE1("i", "i", file_id); - if(H5VL_file_get(uid, H5VL_FILE_GET_FCPL, H5_REQUEST_NULL, &ret_value) < 0) + if(H5VL_file_get(file_id, H5VL_FILE_GET_FCPL, H5_REQUEST_NULL, &ret_value) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file creation properties") done: @@ -236,14 +236,14 @@ done: *------------------------------------------------------------------------- */ hid_t -H5Fget_access_plist(hid_t uid) +H5Fget_access_plist(hid_t file_id) { hid_t ret_value; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE1("i", "i", uid); + H5TRACE1("i", "i", file_id); - if(H5VL_file_get(uid, H5VL_FILE_GET_FAPL, H5_REQUEST_NULL, &ret_value) < 0) + if(H5VL_file_get(file_id, H5VL_FILE_GET_FAPL, H5_REQUEST_NULL, &ret_value) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file creation properties") done: @@ -394,7 +394,7 @@ H5Fget_obj_count(hid_t file_id, unsigned types) udata.obj_count = &ret_value; udata.types = types | H5F_OBJ_LOCAL; - if(H5I_iterate(H5I_FILE_PUBLIC, H5F_get_obj_count_cb, &udata, TRUE) < 0) + if(H5I_iterate(H5I_FILE, H5F_get_obj_count_cb, &udata, TRUE) < 0) HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)") } @@ -513,13 +513,10 @@ H5Fget_obj_ids(hid_t file_id, unsigned types, size_t max_objs, hid_t *oid_list) udata.oid_list = oid_list; udata.obj_count = &ret_value; - if(H5I_iterate(H5I_FILE_PUBLIC, H5F_get_obj_ids_cb, &udata, TRUE) < 0) + if(H5I_iterate(H5I_FILE, H5F_get_obj_ids_cb, &udata, TRUE) < 0) HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)") } - if (H5VL_replace_with_uids (oid_list, ret_value) <= 0) - HGOTO_ERROR(H5E_ATOM, H5E_CANTGET, FAIL, "can't get IDs") - done: FUNC_LEAVE_API(ret_value) } /* end H5Fget_obj_ids() */ @@ -822,18 +819,18 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fget_vfd_handle(hid_t uid, hid_t fapl, void **file_handle) +H5Fget_vfd_handle(hid_t file_id, hid_t fapl, void **file_handle) { herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE3("e", "ii**x", uid, fapl, file_handle); + H5TRACE3("e", "ii**x", file_id, fapl, file_handle); /* Check args */ if(!file_handle) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid file handle pointer") - if((ret_value = H5VL_file_generic(uid, H5VL_FILE_GET_VFD_HANDLE, H5_REQUEST_NULL, file_handle, fapl)) < 0) + if((ret_value = H5VL_file_generic(file_id, H5VL_FILE_GET_VFD_HANDLE, H5_REQUEST_NULL, file_handle, fapl)) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file handle") done: @@ -2028,24 +2025,15 @@ done: *------------------------------------------------------------------------- */ hid_t -H5Freopen(hid_t uid) +H5Freopen(hid_t file_id) { H5F_t *old_file = NULL; H5F_t *new_file = NULL; - H5VL_id_wrapper_t *id_wrapper, *new_id_wrapper; - hid_t file_id, new_file_id, ret_value; + hid_t ret_value; FUNC_ENTER_API(FAIL) H5TRACE1("i", "i", file_id); - /* Get the file */ - if(H5I_FILE_PUBLIC != H5I_get_type(uid)) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a user ID") - if(NULL == (id_wrapper = (H5VL_id_wrapper_t *)H5I_object(uid))) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid user identifier") - - file_id = id_wrapper->obj_id; - /* Check arguments */ if(NULL == (old_file = (H5F_t *)H5I_object_verify(file_id, H5I_FILE))) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file") @@ -2061,21 +2049,23 @@ H5Freopen(hid_t uid) new_file->open_name = H5MM_xstrdup(old_file->open_name); new_file->actual_name = H5MM_xstrdup(old_file->actual_name); - if((new_file_id = H5I_register(H5I_FILE, new_file, TRUE)) < 0) + if((ret_value = H5I_register(H5I_FILE, new_file, TRUE)) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize file handle") /* Keep this ID in file object structure */ - new_file->file_id = new_file_id; + new_file->file_id = ret_value; #if 1 /*MSC - This needs to go through the VOL */ - if(NULL == (new_id_wrapper = (H5VL_id_wrapper_t *)H5MM_malloc(sizeof(H5VL_id_wrapper_t)))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed") - new_id_wrapper->obj_id = new_file_id; - new_id_wrapper->vol_plugin = id_wrapper->vol_plugin; - new_id_wrapper->vol_plugin->nrefs ++; - - if((ret_value = H5I_register(H5I_FILE_PUBLIC, new_id_wrapper, TRUE)) < 0) - HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize file handle") + { + H5VL_class_t *vol_plugin; /* VOL structure attached to id */ + if (NULL == (vol_plugin = (H5VL_class_t *)H5I_get_aux(file_id))) + HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information") + + /* attach VOL information to the ID */ + if (H5I_register_aux(ret_value, vol_plugin, (H5I_free_t)H5VL_close) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "can't attach vol info to ID") + vol_plugin->nrefs++; + } #endif done: @@ -2101,16 +2091,16 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fget_intent(hid_t uid, unsigned *intent_flags) +H5Fget_intent(hid_t file_id, unsigned *intent_flags) { herr_t ret_value = SUCCEED; FUNC_ENTER_API(FAIL) - H5TRACE2("e", "i*Iu", uid, intent_flags); + H5TRACE2("e", "i*Iu", file_id, intent_flags); /* If no intent flags were passed in, exit quietly */ if(intent_flags) { - if((ret_value = H5VL_file_get(uid, H5VL_FILE_GET_INTENT, H5_REQUEST_NULL, intent_flags)) < 0) + if((ret_value = H5VL_file_get(file_id, H5VL_FILE_GET_INTENT, H5_REQUEST_NULL, intent_flags)) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file intent") } @@ -2142,28 +2132,18 @@ H5F_get_id(H5F_t *file, hbool_t app_ref) HDassert(file); if(file->file_id == -1) { - H5VL_id_wrapper_t *id_wrapper; /* user id structure */ /* Get an atom for the file */ if((file->file_id = H5I_register(H5I_FILE, file, app_ref)) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize file") - /* Create a new id that points to a struct that holds the file id and the VOL id */ - if(NULL == (id_wrapper = (H5VL_id_wrapper_t *)H5MM_malloc(sizeof(H5VL_id_wrapper_t)))) - HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed") - id_wrapper->obj_id = file->file_id; - id_wrapper->vol_plugin = file->vol_cls; - id_wrapper->vol_plugin->nrefs ++; - - if((H5I_register(H5I_FILE_PUBLIC, id_wrapper, TRUE)) < 0) - HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize file handle") + /* attach VOL information to the ID */ + if (H5I_register_aux(file->file_id, file->vol_cls, (H5I_free_t)H5VL_close) < 0) + HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "can't attach vol info to ID") + file->vol_cls->nrefs++; } else { /* Increment reference count on atom. */ if(H5I_inc_ref(file->file_id, app_ref) < 0) HGOTO_ERROR(H5E_ATOM, H5E_CANTSET, FAIL, "incrementing file ID failed") - - /* Increment reference count on upper level ID. */ - if(H5VL_inc_ref_uid(file->file_id, app_ref) < 0) - HGOTO_ERROR(H5E_ATOM, H5E_CANTSET, FAIL, "incrementing user ID failed") } /* end else */ ret_value = file->file_id; @@ -2523,14 +2503,14 @@ H5F_addr_decode(const H5F_t *f, const uint8_t **pp/*in,out*/, haddr_t *addr_p/*o *------------------------------------------------------------------------- */ hssize_t -H5Fget_freespace(hid_t uid) +H5Fget_freespace(hid_t file_id) { hssize_t ret_value; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE1("Hs", "i", uid); + H5TRACE1("Hs", "i", file_id); - if(H5VL_file_get(uid, H5VL_FILE_GET_FREE_SPACE, H5_REQUEST_NULL, &ret_value) < 0) + if(H5VL_file_get(file_id, H5VL_FILE_GET_FREE_SPACE, H5_REQUEST_NULL, &ret_value) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file free space") done: @@ -2557,14 +2537,14 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fget_filesize(hid_t uid, hsize_t *size) +H5Fget_filesize(hid_t file_id, hsize_t *size) { herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE2("e", "i*h", uid, size); + H5TRACE2("e", "i*h", file_id, size); - if((ret_value = H5VL_file_get(uid, H5VL_FILE_GET_SIZE, H5_REQUEST_NULL, size)) < 0) + if((ret_value = H5VL_file_get(file_id, H5VL_FILE_GET_SIZE, H5_REQUEST_NULL, size)) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file size") done: @@ -2724,18 +2704,18 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fget_mdc_config(hid_t uid, H5AC_cache_config_t *config_ptr) +H5Fget_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) { herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE2("e", "i*x", uid, config_ptr); + H5TRACE2("e", "i*x", file_id, config_ptr); /* check args */ if((NULL == config_ptr) || (config_ptr->version != H5AC__CURR_CACHE_CONFIG_VERSION)) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Bad config_ptr") - if((ret_value = H5VL_file_get(uid, H5VL_FILE_GET_MDC_CONF, H5_REQUEST_NULL, config_ptr)) < 0) + if((ret_value = H5VL_file_get(file_id, H5VL_FILE_GET_MDC_CONF, H5_REQUEST_NULL, config_ptr)) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get mdc config") done: @@ -2759,22 +2739,16 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fset_mdc_config(hid_t uid, H5AC_cache_config_t *config_ptr) +H5Fset_mdc_config(hid_t file_id, H5AC_cache_config_t *config_ptr) { H5F_t *file; /* File object for file ID */ - H5VL_id_wrapper_t *id_wrapper; /* user id structure */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE2("e", "i*x", uid, config_ptr); - - if(H5I_FILE_PUBLIC != H5I_get_type(uid)) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a user ID") - if(NULL == (id_wrapper = (H5VL_id_wrapper_t *)H5I_object(uid))) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid user identifier") + H5TRACE2("e", "i*x", file_id, config_ptr); /* Check args */ - if(NULL == (file = (H5F_t *)H5I_object_verify(id_wrapper->obj_id, H5I_FILE))) + if(NULL == (file = (H5F_t *)H5I_object_verify(file_id, H5I_FILE))) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID") /* set the resize configuration */ @@ -2803,17 +2777,17 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fget_mdc_hit_rate(hid_t uid, double *hit_rate_ptr) +H5Fget_mdc_hit_rate(hid_t file_id, double *hit_rate_ptr) { herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE2("e", "i*d", uid, hit_rate_ptr); + H5TRACE2("e", "i*d", file_id, hit_rate_ptr); if(NULL == hit_rate_ptr) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "NULL hit rate pointer") - if((ret_value = H5VL_file_get(uid, H5VL_FILE_GET_MDC_HR, H5_REQUEST_NULL, hit_rate_ptr)) < 0) + if((ret_value = H5VL_file_get(file_id, H5VL_FILE_GET_MDC_HR, H5_REQUEST_NULL, hit_rate_ptr)) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get MDC hit rate") done: @@ -2839,16 +2813,16 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fget_mdc_size(hid_t uid, size_t *max_size_ptr, size_t *min_clean_size_ptr, +H5Fget_mdc_size(hid_t file_id, size_t *max_size_ptr, size_t *min_clean_size_ptr, size_t *cur_size_ptr, int *cur_num_entries_ptr) { herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE5("e", "i*z*z*z*Is", uid, max_size_ptr, min_clean_size_ptr, + H5TRACE5("e", "i*z*z*z*Is", file_id, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr); - if((ret_value = H5VL_file_get(uid, H5VL_FILE_GET_MDC_SIZE, H5_REQUEST_NULL, max_size_ptr, + if((ret_value = H5VL_file_get(file_id, H5VL_FILE_GET_MDC_SIZE, H5_REQUEST_NULL, max_size_ptr, min_clean_size_ptr, cur_size_ptr, cur_num_entries_ptr)) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get MDC hit rate") @@ -2878,22 +2852,16 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Freset_mdc_hit_rate_stats(hid_t uid) +H5Freset_mdc_hit_rate_stats(hid_t file_id) { H5F_t *file; /* File object for file ID */ - H5VL_id_wrapper_t *id_wrapper; /* user id structure */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE1("e", "i", uid); - - if(H5I_FILE_PUBLIC != H5I_get_type(uid)) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a user ID") - if(NULL == (id_wrapper = (H5VL_id_wrapper_t *)H5I_object(uid))) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid user identifier") + H5TRACE1("e", "i", file_id); /* Check args */ - if(NULL == (file = (H5F_t *)H5I_object_verify(id_wrapper->obj_id, H5I_FILE))) + if(NULL == (file = (H5F_t *)H5I_object_verify(file_id, H5I_FILE))) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID") /* Reset the hit rate statistic */ @@ -2928,51 +2896,16 @@ done: *------------------------------------------------------------------------- */ ssize_t -H5Fget_name(hid_t uid, char *name/*out*/, size_t size) +H5Fget_name(hid_t file_id, char *name/*out*/, size_t size) { ssize_t ret_value; FUNC_ENTER_API(FAIL) - H5TRACE3("Zs", "ixz", uid, name, size); - - /* MSC - temp fix to handle later when all user level ids are of type UID */ - if (H5I_FILE_PUBLIC == H5I_get_type(uid) || H5I_GROUP_PUBLIC == H5I_get_type(uid) || - H5I_DATATYPE_PUBLIC == H5I_get_type(uid) || H5I_DATASET_PUBLIC == H5I_get_type(uid) || - H5I_ATTR_PUBLIC == H5I_get_type(uid)) { - if(H5VL_file_get(uid, H5VL_FILE_GET_NAME, H5_REQUEST_NULL,name, &ret_value, size) < 0) - HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file name") - } - else { - H5F_t *f; /* Top file in mount hierarchy */ - size_t len; - /* For file IDs, get the file object directly */ - /* (This prevents the H5G_loc() call from returning the file pointer for - * the top file in a mount hierarchy) - */ - if(H5I_get_type(uid) == H5I_FILE ) { - if(NULL == (f = (H5F_t *)H5I_object(uid))) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file") - } /* end if */ - else { - H5G_loc_t loc; /* Object location */ - - /* Get symbol table entry */ - if(H5G_loc(uid, &loc) < 0) - HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a valid object ID") - f = loc.oloc->file; - } /* end else */ + H5TRACE3("Zs", "ixz", file_id, name, size); - len = HDstrlen(H5F_OPEN_NAME(f)); + if(H5VL_file_get(file_id, H5VL_FILE_GET_NAME, H5_REQUEST_NULL,name, &ret_value, size) < 0) + HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file name") - if(name) { - HDstrncpy(name, H5F_OPEN_NAME(f), MIN(len + 1,size)); - if(len >= size) - name[size-1]='\0'; - } /* end if */ - - /* Set return value */ - ret_value = (ssize_t)len; - } done: FUNC_LEAVE_API(ret_value) } /* end H5Fget_name() */ @@ -2996,18 +2929,18 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fget_info2(hid_t uid, H5F_info2_t *finfo) +H5Fget_info2(hid_t file_id, H5F_info2_t *finfo) { herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE2("e", "i*x", uid, finfo); + H5TRACE2("e", "i*x", file_id, finfo); /* Check args */ if(!finfo) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no info struct") - if((ret_value = H5VL_file_get(uid, H5VL_FILE_GET_INFO, H5_REQUEST_NULL, finfo)) < 0) + if((ret_value = H5VL_file_get(file_id, H5VL_FILE_GET_INFO, H5_REQUEST_NULL, finfo)) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file info") done: FUNC_LEAVE_API(ret_value) @@ -3030,19 +2963,19 @@ done: *------------------------------------------------------------------------- */ ssize_t -H5Fget_free_sections(hid_t uid, H5F_mem_t type, size_t nsects, +H5Fget_free_sections(hid_t file_id, H5F_mem_t type, size_t nsects, H5F_sect_info_t *sect_info/*out*/) { ssize_t ret_value; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE4("Zs", "iFmzx", uid, type, nsects, sect_info); + H5TRACE4("Zs", "iFmzx", file_id, type, nsects, sect_info); /* Check args */ if(sect_info && nsects == 0) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "nsects must be > 0") - if(H5VL_file_get(uid, H5VL_FILE_GET_FREE_SECTIONS, H5_REQUEST_NULL, sect_info, &ret_value, + if(H5VL_file_get(file_id, H5VL_FILE_GET_FREE_SECTIONS, H5_REQUEST_NULL, sect_info, &ret_value, type, nsects) < 0) HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file info") done: @@ -3065,22 +2998,16 @@ done: *------------------------------------------------------------------------- */ herr_t -H5Fclear_elink_file_cache(hid_t uid) +H5Fclear_elink_file_cache(hid_t file_id) { H5F_t *file; /* File */ - H5VL_id_wrapper_t *id_wrapper; /* user id structure */ herr_t ret_value = SUCCEED; /* Return value */ FUNC_ENTER_API(FAIL) - H5TRACE1("e", "i", uid); + H5TRACE1("e", "i", file_id); /* Check args */ - if(H5I_FILE_PUBLIC != H5I_get_type(uid)) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a user ID") - if(NULL == (id_wrapper = (H5VL_id_wrapper_t *)H5I_object(uid))) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid user identifier") - - if(NULL == (file = (H5F_t *)H5I_object_verify(id_wrapper->obj_id, H5I_FILE))) + if(NULL == (file = (H5F_t *)H5I_object_verify(file_id, H5I_FILE))) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "not a file ID") /* Release the EFC */ |