diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2009-09-15 20:19:02 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2009-09-15 20:19:02 (GMT) |
commit | 84527bc7ac95a86ec04fac16872408f8139eb29c (patch) | |
tree | 6a7ce37b76ed641d5914fd100f0ce25227444490 /fortran/src/H5Lf.c | |
parent | 8537263df1cb4fd30c0d32ff2b75b1dbb7f61152 (diff) | |
download | hdf5-84527bc7ac95a86ec04fac16872408f8139eb29c.zip hdf5-84527bc7ac95a86ec04fac16872408f8139eb29c.tar.gz hdf5-84527bc7ac95a86ec04fac16872408f8139eb29c.tar.bz2 |
[svn-r17482]
Bug 1652 - h5lget_info_by_idx_f missing/broken functionalit
* added returned val_sel, link_type and address that were missing
In the process, fixed the integer type in H5lget_info_f for address and val_sel
* wrote test for val_sel, address, and link_type returned values
* to check address values added h5Oopen_by_addr_f function and test program.
Tested: smirom (pgf90/pgcc, ifort/icc)
linew
jam (gcc/g95)
Diffstat (limited to 'fortran/src/H5Lf.c')
-rw-r--r-- | fortran/src/H5Lf.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/fortran/src/H5Lf.c b/fortran/src/H5Lf.c index 4378f33..2832d44 100644 --- a/fortran/src/H5Lf.c +++ b/fortran/src/H5Lf.c @@ -396,7 +396,7 @@ done: int_f nh5lget_info_c (hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, int_f *cset, int_f *corder, int_f *corder_valid, int_f *link_type, - int_f *address, hsize_t_f *val_size, + haddr_t_f *address, size_t_f *val_size, hid_t_f *lapl_id) { char *c_link_name = NULL; /* Buffer to hold C string */ @@ -421,8 +421,8 @@ nh5lget_info_c (hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, *corder_valid = 0; if(link_buff.corder_valid > 0) *corder_valid = 1; *link_type = (int_f)link_buff.type; - *address = (int_f)link_buff.u.address; - *val_size = (hsize_t)link_buff.u.val_size; + *address = (haddr_t_f)link_buff.u.address; + *val_size = (size_t_f)link_buff.u.val_size; done: return ret_value; @@ -453,7 +453,7 @@ done: int_f nh5lget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen, int_f *index_field, int_f *order, hsize_t_f *n, - int_f *corder_valid, int_f *corder, int_f *cset, hsize_t_f *data_size, hid_t_f *lapl_id) + int_f *link_type, int_f *corder_valid, int_f *corder, int_f *cset, haddr_t_f *address, size_t_f *val_size, hid_t_f *lapl_id) { char *c_group_name = NULL; /* Buffer to hold C string */ H5_index_t c_index_field; @@ -483,7 +483,9 @@ nh5lget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen, *corder = (int_f)link_buff.corder; *cset = (int_f)link_buff.cset; - *data_size = (hsize_t)link_buff.u.val_size; + *link_type = (int_f)link_buff.type; + *address = (haddr_t_f)link_buff.u.address; + *val_size = (size_t_f)link_buff.u.val_size; done: return ret_value; |