summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2014-02-04 15:11:20 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2014-02-04 15:11:20 (GMT)
commitee10548723a74680a65ad0f324602e172b246f19 (patch)
tree2e67acad33935c24f775699187c4ac253baef750 /src
parentddf75b10f64026f9e1c55534997c2b3a37af0140 (diff)
downloadhdf5-ee10548723a74680a65ad0f324602e172b246f19.zip
hdf5-ee10548723a74680a65ad0f324602e172b246f19.tar.gz
hdf5-ee10548723a74680a65ad0f324602e172b246f19.tar.bz2
[svn-r24681] Description:
Fix for HDF5/HDFFV-8620 H5Rget_name with NULL name parameter fails. The name parameter now excepts NULL, in which case the length of then name is returned. Tested: jam (intel and gnu)
Diffstat (limited to 'src')
-rw-r--r--src/H5R.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/H5R.c b/src/H5R.c
index 97b6f61..95d8548 100644
--- a/src/H5R.c
+++ b/src/H5R.c
@@ -894,7 +894,6 @@ H5R_get_name(H5F_t *f, hid_t lapl_id, hid_t dxpl_id, hid_t id, H5R_type_t ref_ty
/* Check args */
HDassert(f);
HDassert(_ref);
- HDassert(name);
/* Initialize the object location */
H5O_loc_reset(&oloc);
@@ -965,8 +964,10 @@ done:
object that the dataset is located within.
H5R_type_t ref_type; IN: Type of reference
void *ref; IN: Reference to query.
- char *name; OUT: Buffer to place name of object referenced
- size_t size; IN: Size of name buffer
+ char *name; OUT: Buffer to place name of object referenced. If NULL
+ then this call will return the size in bytes of name.
+ size_t size; IN: Size of name buffer (user needs to include NULL terminator
+ when passing in the size)
RETURNS
Non-negative length of the path on success, Negative on failure
@@ -978,6 +979,12 @@ done:
This may not be the only path to that object.
EXAMPLES
REVISION LOG
+ M. Scot Breitenfeld
+ 22 January 2014
+ Changed the behavior for the returned value of the function when name is NULL.
+ If name is NULL then size is ignored and the function returns the size
+ of the name buffer (not including the NULL terminator), it still returns
+ negative on failure.
--------------------------------------------------------------------------*/
ssize_t
H5Rget_name(hid_t id, H5R_type_t ref_type, const void *_ref, char *name,