diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index 58cc0e1321d..1c61cac273a 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -1890,48 +1890,6 @@ h5tcommitted_c(hid_t_f *dtype_id) return ret_value; } -/****if* H5Tf/h5tdecode_c - * NAME - * h5tdecode_c - * PURPOSE - * Call H5Tdecode - * INPUTS - * - * buf - Buffer for the data space object to be decoded. - * buf_size - Size of the buffer - * OUTPUTS - * - * obj_id - Object_id (non-negative) - * - * RETURNS - * 0 on success, -1 on failure - * SOURCE - */ - -int_f -h5tdecode_c(_fcd buf, size_t_f buf_size, hid_t_f *obj_id) -/******/ -{ - int ret_value = -1; - unsigned char *c_buf = NULL; /* Buffer to hold C string */ - hid_t c_obj_id; - - /* - * Call H5Tdecode function. - */ - - c_buf = (unsigned char *)buf; - - c_obj_id = H5Tdecode2(c_buf, buf_size); - if (c_obj_id < 0) - return ret_value; - - *obj_id = (hid_t_f)c_obj_id; - ret_value = 0; - - return ret_value; -} - /****if* H5Tf/h5tencode_c * NAME * h5tencode_c diff --git a/fortran/src/H5Tff.F90 b/fortran/src/H5Tff.F90 index ec80977e19f..33644b10f39 100644 --- a/fortran/src/H5Tff.F90 +++ b/fortran/src/H5Tff.F90 @@ -1876,19 +1876,22 @@ SUBROUTINE h5tdecode_with_size_f(buf, buf_size, obj_id, hdferr) INTEGER(HID_T), INTENT(OUT) :: obj_id INTEGER, INTENT(OUT) :: hdferr INTERFACE - INTEGER FUNCTION h5tdecode_c(buf, buf_size, obj_id) BIND(C,NAME='h5tdecode_c') + INTEGER(HID_T) FUNCTION H5Tdecode2(buf, buf_size) BIND(C,NAME='H5Tdecode2') IMPORT :: C_CHAR IMPORT :: HID_T, SIZE_T IMPLICIT NONE CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: buf INTEGER(SIZE_T), INTENT(IN) :: buf_size - INTEGER(HID_T), INTENT(OUT) :: obj_id - END FUNCTION h5tdecode_c + END FUNCTION H5Tdecode2 END INTERFACE - hdferr = h5tdecode_c(buf, buf_size, obj_id) -END SUBROUTINE h5tdecode_with_size_f + obj_id = H5Tdecode2(buf, buf_size) + + IF(obj_id.LT.0)THEN + hdferr = -1 + ENDIF +END SUBROUTINE h5tdecode_with_size_f !> !! \ingroup FH5T !! @@ -1907,21 +1910,23 @@ SUBROUTINE h5tdecode_auto_size_f(buf, obj_id, hdferr) INTEGER, INTENT(OUT) :: hdferr INTEGER(SIZE_T) :: buf_size INTERFACE - INTEGER FUNCTION h5tdecode_c(buf, buf_size, obj_id) BIND(C,NAME='h5tdecode_c') + INTEGER(HID_T) FUNCTION H5Tdecode2(buf, buf_size) BIND(C,NAME='H5Tdecode2') IMPORT :: C_CHAR IMPORT :: HID_T, SIZE_T IMPLICIT NONE CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: buf INTEGER(SIZE_T), INTENT(IN) :: buf_size - INTEGER(HID_T), INTENT(OUT) :: obj_id - END FUNCTION h5tdecode_c + END FUNCTION H5Tdecode2 END INTERFACE buf_size = LEN(buf) - hdferr = h5tdecode_c(buf, buf_size, obj_id) -END SUBROUTINE h5tdecode_auto_size_f + obj_id = H5Tdecode2(buf, buf_size) -!> + IF(obj_id.LT.0)THEN + hdferr = -1 + ENDIF + +END SUBROUTINE h5tdecode_auto_size_f!> !! \ingroup FH5T !! !! \brief Encode a data type object description into a binary buffer. diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h index 60d4b1c5b6c..5096cbcfbab 100644 --- a/fortran/src/H5f90proto.h +++ b/fortran/src/H5f90proto.h @@ -327,7 +327,6 @@ H5_FCDLL int_f h5tvlen_create_c(hid_t_f *type_id, hid_t_f *vltype_id); H5_FCDLL int_f h5tis_variable_str_c(hid_t_f *type_id, int_f *flag); H5_FCDLL int_f h5tget_member_class_c(hid_t_f *type_id, int_f *member_no, int_f *cls); H5_FCDLL int_f h5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id, hid_t_f *tcpl_id, hid_t_f *tapl_id); -H5_FCDLL int_f h5tdecode_c(_fcd buf, size_t_f buf_size, hid_t_f *obj_id); H5_FCDLL int_f h5tencode_c(_fcd buf, hid_t_f *obj_id, size_t_f *nalloc); H5_FCDLL int_f h5tget_create_plist_c(hid_t_f *dtype_id, hid_t_f *dtpl_id); H5_FCDLL int_f h5tcompiler_conv_c(hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag);