diff options
author | Jonathan Kim <jkm@hdfgroup.org> | 2010-09-16 17:48:06 (GMT) |
---|---|---|
committer | Jonathan Kim <jkm@hdfgroup.org> | 2010-09-16 17:48:06 (GMT) |
commit | c561dc7183a5496efdbccd25a0fb2b31b6d9772d (patch) | |
tree | d3fdeac2e0dcbc3ee219fec262b1ecc091e70891 /tools/lib/h5tools_utils.c | |
parent | 1914737e0658d642c1ef2e48c6162fa7cc400c64 (diff) | |
download | hdf5-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.c | 16 |
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 |