summaryrefslogtreecommitdiffstats
path: root/tools/lib/h5tools_utils.c
diff options
context:
space:
mode:
authorJonathan Kim <jkm@hdfgroup.org>2010-09-16 17:48:06 (GMT)
committerJonathan Kim <jkm@hdfgroup.org>2010-09-16 17:48:06 (GMT)
commitc561dc7183a5496efdbccd25a0fb2b31b6d9772d (patch)
treed3fdeac2e0dcbc3ee219fec262b1ecc091e70891 /tools/lib/h5tools_utils.c
parent1914737e0658d642c1ef2e48c6162fa7cc400c64 (diff)
downloadhdf5-c561dc7183a5496efdbccd25a0fb2b31b6d9772d.zip
hdf5-c561dc7183a5496efdbccd25a0fb2b31b6d9772d.tar.gz
hdf5-c561dc7183a5496efdbccd25a0fb2b31b6d9772d.tar.bz2
[svn-r19400] Purpose:
Fix for Bug1975 h5diff - support recursive comparison on group when specified as an object Description: Compare member objects and groups recursively when two files or groups are specified to be compared. Support parallel diff and handling symbolic links accordingly. Tested: jam, amani, heiwa
Diffstat (limited to 'tools/lib/h5tools_utils.c')
-rw-r--r--tools/lib/h5tools_utils.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/tools/lib/h5tools_utils.c b/tools/lib/h5tools_utils.c
index a0fca8b..7586fd0 100644
--- a/tools/lib/h5tools_utils.c
+++ b/tools/lib/h5tools_utils.c
@@ -702,9 +702,9 @@ tmpfile(void)
#endif
/*-------------------------------------------------------------------------
- * Function: H5tools_get_link_info
+ * Function: H5tools_get_symlink_info
*
- * Purpose: Get link (soft, external) info and its target object type
+ * Purpose: Get symbolic link (soft, external) info and its target object type
(dataset, group, named datatype) and path, if exist
*
* Patameters:
@@ -726,7 +726,7 @@ tmpfile(void)
* Date: Feb 8, 2010
*-------------------------------------------------------------------------*/
int
-H5tools_get_link_info(hid_t file_id, const char * linkpath, h5tool_link_info_t *link_info,
+H5tools_get_symlink_info(hid_t file_id, const char * linkpath, h5tool_link_info_t *link_info,
hbool_t get_obj_type)
{
htri_t l_ret;
@@ -738,6 +738,14 @@ H5tools_get_link_info(hid_t file_id, const char * linkpath, h5tool_link_info_t *
/* init */
link_info->trg_type = H5O_TYPE_UNKNOWN;
+ /* if path is root, return group type */
+ if(!HDstrcmp(linkpath,"/"))
+ {
+ link_info->trg_type = H5O_TYPE_GROUP;
+ ret = 2;
+ goto out;
+ }
+
/* check if link itself exist */
if(H5Lexists(file_id, linkpath, H5P_DEFAULT) <= 0) {
if(link_info->opt.msg_mode == 1)
@@ -827,7 +835,7 @@ out:
H5Pclose(lapl);
return ret;
-} /* end H5tools_get_link_info() */
+} /* end H5tools_get_symlink_info() */
/*-------------------------------------------------------------------------
* Audience: Public