summaryrefslogtreecommitdiffstats
path: root/c++
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2009-12-10 17:43:14 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2009-12-10 17:43:14 (GMT)
commit9d06256018fbebbefa08879ae9f16696a5bbef19 (patch)
treedb84f4d812d122c8c9fafbcc4b828fc12cbf6a8e /c++
parenta4750dfae7e187f95c4515939968e6fce880efed (diff)
downloadhdf5-9d06256018fbebbefa08879ae9f16696a5bbef19.zip
hdf5-9d06256018fbebbefa08879ae9f16696a5bbef19.tar.gz
hdf5-9d06256018fbebbefa08879ae9f16696a5bbef19.tar.bz2
[svn-r17987] Description:
Bring r17945:17986 from trunk to revise_chunks branch (needs to have autotools files regenerated before testing, those will be checked in in a few minutes)
Diffstat (limited to 'c++')
-rw-r--r--c++/src/H5CommonFG.cpp6
-rw-r--r--c++/src/Makefile.in2
-rw-r--r--c++/test/trefer.cpp6
3 files changed, 11 insertions, 3 deletions
diff --git a/c++/src/H5CommonFG.cpp b/c++/src/H5CommonFG.cpp
index f9311c6..dd4a419 100644
--- a/c++/src/H5CommonFG.cpp
+++ b/c++/src/H5CommonFG.cpp
@@ -570,8 +570,10 @@ H5std_string CommonFG::getComment( const char* name, size_t bufsize ) const
// if the actual length of the comment is longer than bufsize and bufsize
// was the default value, i.e., not given by the user, then call
- // H5Oget_comment_by_name again with the correct value
- if ((size_t)ret_value > bufsize && bufsize == 256)
+ // H5Oget_comment_by_name again with the correct value.
+ // If the call to H5Oget_comment_by_name returned an error, skip this block
+ // and throw an exception below.
+ if (ret_value >= 0 && (size_t)ret_value > bufsize && bufsize == 256)
{
size_t new_size = ret_value;
delete []comment_C;
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index a76df89..420292b 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -390,7 +390,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 = 42
+LT_VERS_REVISION = 44
LT_VERS_AGE = 0
# Include src directory
diff --git a/c++/test/trefer.cpp b/c++/test/trefer.cpp
index f17f37a..c4ac93b 100644
--- a/c++/test/trefer.cpp
+++ b/c++/test/trefer.cpp
@@ -217,6 +217,12 @@ static void test_reference_obj(void)
H5std_string read_comment1 = group.getComment(".", 10);
verify_val(read_comment1, write_comment, "Group::getComment", __LINE__, __FILE__);
+ // Test that getComment handles failures gracefully
+ try {
+ H5std_string read_comment_tmp = group.getComment(NULL);
+ }
+ catch (Exception E) {} // We expect this to fail
+
// Close group
group.close();