summaryrefslogtreecommitdiffstats
path: root/hl/fortran
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-12-29 14:26:20 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-12-29 14:26:20 (GMT)
commit427ff7da2848042f68ecfadf5a321b1d8077e9db (patch)
tree73024b1954031fbb724c2d96a485590348e5cc22 /hl/fortran
parent9b96fd2003ae74cca389cc4c2216b4371d6eb173 (diff)
downloadhdf5-427ff7da2848042f68ecfadf5a321b1d8077e9db.zip
hdf5-427ff7da2848042f68ecfadf5a321b1d8077e9db.tar.gz
hdf5-427ff7da2848042f68ecfadf5a321b1d8077e9db.tar.bz2
[svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-) Description: Generally speaking, this is the "signed->unsigned" change to selections. However, in the process of merging code back, things got stickier and stickier until I ended up doing a big "sync the two branches up" operation. So... I brought back all the "infrastructure" fixes from the development branch to the release branch (which I think were actually making some improvement in performance) as well as fixed several bugs which had been fixed in one branch, but not the other. I've also tagged the repository before making this checkin with the label "before_signed_unsigned_changes". Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel & fphdf5 FreeBSD 4.10 (sleipnir) w/threadsafe FreeBSD 4.10 (sleipnir) w/backward compatibility Solaris 2.7 (arabica) w/"purify options" Solaris 2.8 (sol) w/FORTRAN & C++ AIX 5.x (copper) w/parallel & FORTRAN IRIX64 6.5 (modi4) w/FORTRAN Linux 2.4 (heping) w/FORTRAN & C++ Misc. update:
Diffstat (limited to 'hl/fortran')
-rwxr-xr-xhl/fortran/src/H5LTfc.c4
-rwxr-xr-xhl/fortran/src/H5TBfc.c7
-rwxr-xr-xhl/fortran/test/tsttable.f902
3 files changed, 6 insertions, 7 deletions
diff --git a/hl/fortran/src/H5LTfc.c b/hl/fortran/src/H5LTfc.c
index f2b1aca..12a8a3c 100755
--- a/hl/fortran/src/H5LTfc.c
+++ b/hl/fortran/src/H5LTfc.c
@@ -870,7 +870,7 @@ nh5ltget_dataset_info_c(hid_t_f *loc_id,
ret = H5LTget_dataset_info(c_loc_id, c_name, c_dims, &c_classtype, &c_type_size);
*type_class = c_classtype;
- *type_size = c_type_size;
+ *type_size = (size_t_f)c_type_size;
for (i = 0; i < 32 ; i++) {
dims[i] = (hsize_t_f) c_dims[i];
}
@@ -1000,7 +1000,7 @@ nh5ltget_attribute_info_c(hid_t_f *loc_id,
ret = H5LTget_attribute_info(c_loc_id,c_name,c_attrname,c_dims,&c_classtype,&c_type_size);
*type_class = c_classtype;
- *type_size = c_type_size;
+ *type_size = (size_t_f)c_type_size;
for (i = 0; i < 32 ; i++) {
dims[i] = (hsize_t_f) c_dims[i];
}
diff --git a/hl/fortran/src/H5TBfc.c b/hl/fortran/src/H5TBfc.c
index 68bade4..78866c8 100755
--- a/hl/fortran/src/H5TBfc.c
+++ b/hl/fortran/src/H5TBfc.c
@@ -65,7 +65,6 @@ nh5tbmake_table_c(int_f *namelen1,
hsize_t c_nfields = *nfields;
hsize_t c_nrecords = *nrecords;
hsize_t c_chunk_size = *chunk_size;
- int c_compress = *compress;
size_t c_type_size = *type_size;
size_t *c_field_offset;
hid_t *c_field_types;
@@ -689,11 +688,11 @@ nh5tbget_field_info_c(hid_t_f *loc_id,
HD5packFstring(tmp, _fcdtocp(field_names), (int)(c_lenmax*c_nfields));
- *type_size = c_type_size;
+ *type_size = (size_t_f)c_type_size;
for (i=0; i < num_elem; i++)
{
- field_sizes[i] = c_field_sizes[i];
- field_offsets[i] = c_field_offsets[i];
+ field_sizes[i] = (size_t_f)c_field_sizes[i];
+ field_offsets[i] = (size_t_f)c_field_offsets[i];
}
diff --git a/hl/fortran/test/tsttable.f90 b/hl/fortran/test/tsttable.f90
index 2f27d3c..44a42ce 100755
--- a/hl/fortran/test/tsttable.f90
+++ b/hl/fortran/test/tsttable.f90
@@ -54,7 +54,7 @@ integer(SIZE_T) :: type_sized ! Size of the double prec
integer(SIZE_T) :: type_sizer ! Size of the real datatype
integer(HID_T) :: type_id_c ! Memory datatype identifier (for character field)
integer(SIZE_T) :: offset ! Member's offset
-integer(HSIZE_T) :: start ! start record
+integer(HSIZE_T) :: start = 0 ! start record
integer, dimension(nrecords) :: bufi ! Data buffer
integer, dimension(nrecords) :: bufir ! Data buffer
real, dimension(nrecords) :: bufr ! Data buffer