summaryrefslogtreecommitdiffstats
path: root/c++
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2014-09-29 20:52:08 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2014-09-29 20:52:08 (GMT)
commit0befe65753b60e85891453dcbca373763a070419 (patch)
treea3346fca5a6ad59fabfcc2152aa655e002e11245 /c++
parent9140500b86f1143e9d0684db553d796271bffc14 (diff)
downloadhdf5-0befe65753b60e85891453dcbca373763a070419.zip
hdf5-0befe65753b60e85891453dcbca373763a070419.tar.gz
hdf5-0befe65753b60e85891453dcbca373763a070419.tar.bz2
[svn-r25632] Purpose: Fixed HDFFV-8852
Description: H5F_ACC_CREAT was included in the C++ API while the C library doesn't allow it yet. Possibly, in the future, but not now. In addition, the two flags H5F_ACC_RDONLY and H5F_ACC_RDWR were missing from the documentation, causing confusion that appending is not supported. Solution: - Removed H5F_ACC_CREAT from the function until the C library support it - Added H5F_ACC_RDONLY and H5F_ACC_RDWR to the comments to update the documentation Platforms tested: Linux/ppc64 (ostrich) Linux/32 2.6 (jam) SunOS 5.11 (emu)
Diffstat (limited to 'c++')
-rw-r--r--c++/src/H5File.cpp10
-rw-r--r--c++/test/dsets.cpp1
-rw-r--r--c++/test/tfile.cpp2
-rw-r--r--c++/test/th5s.cpp4
-rw-r--r--c++/test/tlinks.cpp2
5 files changed, 14 insertions, 5 deletions
diff --git a/c++/src/H5File.cpp b/c++/src/H5File.cpp
index e4ac4a1..ff00e3b 100644
--- a/c++/src/H5File.cpp
+++ b/c++/src/H5File.cpp
@@ -69,6 +69,10 @@ H5File::H5File() : H5Location(), id(0) {}
/// the file.
/// \li \c H5F_ACC_EXCL - Fail if file already exists.
/// \c H5F_ACC_TRUNC and \c H5F_ACC_EXCL are mutually exclusive
+/// \li \c H5F_ACC_RDONLY - Open file as read-only, if it already
+/// exists, and fail, otherwise
+/// \li \c H5F_ACC_RDWR - Open file for read/write, if it already
+/// exists, and fail, otherwise
/// \li \c H5F_ACC_DEBUG - print debug information. This flag is
/// used only by HDF5 library developers; it is neither
/// tested nor supported for use in applications.
@@ -121,12 +125,15 @@ H5File::H5File( const H5std_string& name, unsigned int flags, const FileCreatPro
// This function is private and contains common code between the
// constructors taking a string or a char*
// Programmer Binh-Minh Ribler - 2000
+// Modification
+// - removed H5F_ACC_CREAT because H5Fcreate will fail with
+// H5F_ACC_CREAT. - BMR, Sep 17, 2014
//--------------------------------------------------------------------------
void H5File::p_get_file(const char* name, unsigned int flags, const FileCreatPropList& create_plist, const FileAccPropList& access_plist)
{
// These bits only set for creation, so if any of them are set,
// create the file.
- if( flags & (H5F_ACC_CREAT|H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG))
+ if( flags & (H5F_ACC_EXCL|H5F_ACC_TRUNC|H5F_ACC_DEBUG))
{
hid_t create_plist_id = create_plist.getId();
hid_t access_plist_id = access_plist.getId();
@@ -147,6 +154,7 @@ void H5File::p_get_file(const char* name, unsigned int flags, const FileCreatPro
}
}
}
+
#endif // DOXYGEN_SHOULD_SKIP_THIS
//--------------------------------------------------------------------------
diff --git a/c++/test/dsets.cpp b/c++/test/dsets.cpp
index d1ced1d..fc0ea3a 100644
--- a/c++/test/dsets.cpp
+++ b/c++/test/dsets.cpp
@@ -1083,6 +1083,7 @@ void test_dset()
// Close the file before testing data size.
file.close();
+
nerrors += test_datasize(fapl) <0 ? 1:0;
}
catch (Exception E)
diff --git a/c++/test/tfile.cpp b/c++/test/tfile.cpp
index 1f53e61..ecfa8d0 100644
--- a/c++/test/tfile.cpp
+++ b/c++/test/tfile.cpp
@@ -622,7 +622,7 @@ extern "C"
void test_file()
{
// Output message about test being performed
- MESSAGE(5, ("Testing File I/O operations\n"));
+ MESSAGE(5, ("Testing File I/O Operations\n"));
test_file_create(); // Test file creation (also creation templates)
test_file_open(); // Test file opening
diff --git a/c++/test/th5s.cpp b/c++/test/th5s.cpp
index cfdeb1f..b7a39b4 100644
--- a/c++/test/th5s.cpp
+++ b/c++/test/th5s.cpp
@@ -317,7 +317,7 @@ static void test_h5s_scalar_read()
SUBTEST("Scalar Dataspace Reading");
try {
- // Create file
+ // Open file
H5File fid1(DATAFILE, H5F_ACC_RDWR);
// Create a dataset
@@ -506,7 +506,7 @@ static void test_h5s_compound_scalar_read()
// Output message about test being performed
SUBTEST("Compound Dataspace Reading");
try {
- // Create file
+ // Open file
H5File fid1(DATAFILE, H5F_ACC_RDWR);
// Create a dataset
diff --git a/c++/test/tlinks.cpp b/c++/test/tlinks.cpp
index fca5918..291b649 100644
--- a/c++/test/tlinks.cpp
+++ b/c++/test/tlinks.cpp
@@ -15,7 +15,7 @@
/*****************************************************************************
FILE
tlinks.cpp - HDF5 C++ testing functionalities associated with the
- C attribute interface (H5L)
+ C link interface (H5L)
***************************************************************************/