summaryrefslogtreecommitdiffstats
path: root/c++/src/H5DataSet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'c++/src/H5DataSet.cpp')
-rw-r--r--c++/src/H5DataSet.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/c++/src/H5DataSet.cpp b/c++/src/H5DataSet.cpp
index 0374d95..717ef88 100644
--- a/c++/src/H5DataSet.cpp
+++ b/c++/src/H5DataSet.cpp
@@ -63,6 +63,7 @@ DataSet::DataSet() : H5Object(), AbstractDs(), id(H5I_INVALID_HID) {}
DataSet::DataSet(const hid_t existing_id) : H5Object(), AbstractDs()
{
id = existing_id;
+ incRefCount(); // increment number of references to this id
}
//--------------------------------------------------------------------------
@@ -137,7 +138,8 @@ DataSpace DataSet::getSpace() const
throw DataSetIException("DataSet::getSpace", "H5Dget_space failed");
}
//create dataspace object using the existing id then return the object
- DataSpace data_space( dataspace_id );
+ DataSpace data_space;
+ f_DataSpace_setId(&data_space, dataspace_id);
return( data_space );
}
@@ -170,8 +172,8 @@ DSetCreatPropList DataSet::getCreatePlist() const
throw DataSetIException("DataSet::getCreatePlist", "H5Dget_create_plist failed");
}
// create and return the DSetCreatPropList object
- DSetCreatPropList create_plist( create_plist_id );
- return( create_plist );
+ DSetCreatPropList create_plist(create_plist_id); // ok to use existing id const
+ return(create_plist);
}
//--------------------------------------------------------------------------