diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2005-01-10 22:56:20 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2005-01-10 22:56:20 (GMT) |
commit | c04b612eb42b8b63ed4b4f966d53381f60f5119a (patch) | |
tree | 92cc25bfac9f43dbec0b02fe5ac437abec3ae0ed /fortran/src/H5Dff.f90 | |
parent | 4eb3251a2cb04433f01d2c1e4f7d0ed2af4c1982 (diff) | |
download | hdf5-c04b612eb42b8b63ed4b4f966d53381f60f5119a.zip hdf5-c04b612eb42b8b63ed4b4f966d53381f60f5119a.tar.gz hdf5-c04b612eb42b8b63ed4b4f966d53381f60f5119a.tar.bz2 |
[svn-r9801] Purpose:
Bug fix
Description:
Belatedly chase change of hobj_ref_t in C APIs.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/backward compatibility turned on
IRIX64 6.5 (modi4) w/FORTRAN
h5committest
Diffstat (limited to 'fortran/src/H5Dff.f90')
-rw-r--r-- | fortran/src/H5Dff.f90 | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/fortran/src/H5Dff.f90 b/fortran/src/H5Dff.f90 index 0001aca..7ceb9f0 100644 --- a/fortran/src/H5Dff.f90 +++ b/fortran/src/H5Dff.f90 @@ -330,7 +330,7 @@ INTEGER(HID_T) :: xfer_prp_default INTEGER(HID_T) :: mem_space_id_default INTEGER(HID_T) :: file_space_id_default - INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf + INTEGER(HADDR_T), ALLOCATABLE, DIMENSION(:) :: ref_buf INTEGER :: i,j ! INTEGER, EXTERNAL :: h5dwrite_ref_obj_c @@ -349,7 +349,7 @@ INTEGER(HID_T) :: xfer_prp_default INTEGER(HID_T) :: mem_space_id_default INTEGER(HID_T) :: file_space_id_default - INTEGER, DIMENSION(*) :: ref_buf + INTEGER(HADDR_T), DIMENSION(*) :: ref_buf INTEGER(HSIZE_T), DIMENSION(*) :: dims END FUNCTION h5dwrite_ref_obj_c END INTERFACE @@ -362,15 +362,13 @@ if (present(mem_space_id)) mem_space_id_default = mem_space_id if (present(file_space_id)) file_space_id_default = file_space_id - allocate(ref_buf(REF_OBJ_BUF_LEN*dims(1)), stat=hdferr) + allocate(ref_buf(dims(1)), stat=hdferr) if (hdferr .NE. 0 ) then hdferr = -1 return else do j = 1, dims(1) - do i = 1, REF_OBJ_BUF_LEN - ref_buf(REF_OBJ_BUF_LEN*(j-1) + i ) = buf(j)%ref(i) - enddo + ref_buf(j) = buf(j)%ref enddo endif hdferr = h5dwrite_ref_obj_c(dset_id, mem_type_id, mem_space_id_default, & @@ -2500,7 +2498,7 @@ INTEGER(HID_T) :: xfer_prp_default INTEGER(HID_T) :: mem_space_id_default INTEGER(HID_T) :: file_space_id_default - INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf + INTEGER(HADDR_T), ALLOCATABLE, DIMENSION(:) :: ref_buf INTEGER :: i,j ! INTEGER, EXTERNAL :: h5dread_ref_obj_c @@ -2519,12 +2517,12 @@ INTEGER(HID_T) :: xfer_prp_default INTEGER(HID_T) :: mem_space_id_default INTEGER(HID_T) :: file_space_id_default - INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims - INTEGER, DIMENSION(*) :: ref_buf + INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims + INTEGER(HADDR_T), DIMENSION(*) :: ref_buf END FUNCTION h5dread_ref_obj_c END INTERFACE - allocate(ref_buf(REF_OBJ_BUF_LEN*dims(1)), stat=hdferr) + allocate(ref_buf(dims(1)), stat=hdferr) if (hdferr .NE. 0) then hdferr = -1 return @@ -2541,9 +2539,7 @@ hdferr = h5dread_ref_obj_c(dset_id, mem_type_id, mem_space_id_default, & file_space_id_default, xfer_prp_default, ref_buf, dims) do j = 1, dims(1) - do i = 1, REF_OBJ_BUF_LEN - buf(j)%ref(i) = ref_buf(REF_OBJ_BUF_LEN*(j-1) + i) - enddo + buf(j)%ref = ref_buf(j) enddo deallocate(ref_buf) END SUBROUTINE h5dread_reference_obj |