summaryrefslogtreecommitdiffstats
path: root/hl/src
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2012-08-06 19:42:49 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2012-08-06 19:42:49 (GMT)
commitcd3f42096b9a957e37c9df48aa0d31d9ed4bc537 (patch)
tree86a1672d114762d3aea872e44104e65d1bc09254 /hl/src
parent434643dd4d14a841abdcc73ad7b3a0a8e06e4438 (diff)
downloadhdf5-cd3f42096b9a957e37c9df48aa0d31d9ed4bc537.zip
hdf5-cd3f42096b9a957e37c9df48aa0d31d9ed4bc537.tar.gz
hdf5-cd3f42096b9a957e37c9df48aa0d31d9ed4bc537.tar.bz2
[svn-r22636] Description:
Bring r22599:22634 from trunk to revise_chunks branch Tested on: Mac OSX/64 10.7.4 (amazon) w/gcc 4.7.x, C++ & FORTRAN (No need for h5committest yet on this branch)
Diffstat (limited to 'hl/src')
-rw-r--r--hl/src/H5LT.c9
-rw-r--r--hl/src/H5TB.c10
-rw-r--r--hl/src/Makefile.in2
3 files changed, 17 insertions, 4 deletions
diff --git a/hl/src/H5LT.c b/hl/src/H5LT.c
index 678642f..eed2721 100644
--- a/hl/src/H5LT.c
+++ b/hl/src/H5LT.c
@@ -3024,8 +3024,11 @@ herr_t H5LTget_attribute_string( hid_t loc_id,
return -1;
/* Get the attribute */
- if ( H5LT_get_attribute_disk( obj_id, attr_name, data ) < 0 )
- return -1;
+ if ( H5LT_get_attribute_disk( obj_id, attr_name, data ) < 0 )
+ {
+ H5Oclose(obj_id);
+ return -1;
+ }
/* Close the object */
if(H5Oclose(obj_id) < 0)
@@ -3458,6 +3461,8 @@ static herr_t H5LT_get_attribute_mem(hid_t loc_id,
return 0;
out:
+ if(obj_id > 0)
+ H5Oclose(obj_id);
if(attr_id > 0)
H5Aclose(attr_id);
return -1;
diff --git a/hl/src/H5TB.c b/hl/src/H5TB.c
index 6edc244..8a77f13 100644
--- a/hl/src/H5TB.c
+++ b/hl/src/H5TB.c
@@ -1298,6 +1298,7 @@ herr_t H5TBdelete_record( hid_t loc_id,
hid_t tid=-1;
hid_t sid=-1;
hid_t m_sid=-1;
+ hid_t mem_type_id=-1;
hsize_t count[1];
hsize_t offset[1];
hsize_t mem_size[1];
@@ -1364,6 +1365,10 @@ herr_t H5TBdelete_record( hid_t loc_id,
if ((sid = H5Dget_space( did )) < 0)
goto out;
+ /* create the memory data type. */
+ if ((mem_type_id=H5TB_create_type( loc_id, dset_name, src_size, src_offset, src_sizes, tid)) < 0)
+ goto out;
+
/* define a hyperslab in the dataset of the size of the records */
offset[0] = start;
count[0] = read_nrecords;
@@ -1375,12 +1380,14 @@ herr_t H5TBdelete_record( hid_t loc_id,
if ((m_sid = H5Screate_simple( 1, mem_size, NULL )) < 0)
goto out;
- if (H5Dwrite( did, tid, m_sid, sid, H5P_DEFAULT, tmp_buf ) < 0)
+ if (H5Dwrite( did, mem_type_id, m_sid, sid, H5P_DEFAULT, tmp_buf ) < 0)
goto out;
/* close */
if (H5Sclose( m_sid ) < 0)
goto out;
+ if (H5Tclose( mem_type_id ) < 0)
+ goto out;
if (H5Sclose( sid ) < 0)
goto out;
if (H5Tclose( tid ) < 0)
@@ -1416,6 +1423,7 @@ out:
free( tmp_buf );
H5E_BEGIN_TRY
{
+ H5Tclose(mem_type_id);
H5Dclose(did);
H5Tclose(tid);
H5Sclose(sid);
diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in
index 9b2bbdb..eaeac2e 100644
--- a/hl/src/Makefile.in
+++ b/hl/src/Makefile.in
@@ -420,7 +420,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog
# Add libtool shared library version numbers to the HDF5 library
# See libtool versioning documentation online.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 114
+LT_VERS_REVISION = 115
LT_VERS_AGE = 0
# This library is our main target.