summaryrefslogtreecommitdiffstats
path: root/src/H5Gname.c
diff options
context:
space:
mode:
authorAllen Byrne <byrn@hdfgroup.org>2020-09-30 14:27:10 (GMT)
committerAllen Byrne <byrn@hdfgroup.org>2020-09-30 14:27:10 (GMT)
commitb2d661b508a7fc7a2592c13bc6bdc175551f075d (patch)
tree13baeb0d83a7c2a4c6299993c182b1227c2f6114 /src/H5Gname.c
parent29ab58b58dce556639ea3154e262895773a8a8df (diff)
downloadhdf5-b2d661b508a7fc7a2592c13bc6bdc175551f075d.zip
hdf5-b2d661b508a7fc7a2592c13bc6bdc175551f075d.tar.gz
hdf5-b2d661b508a7fc7a2592c13bc6bdc175551f075d.tar.bz2
Clang-format of source files
Diffstat (limited to 'src/H5Gname.c')
-rw-r--r--src/H5Gname.c585
1 files changed, 280 insertions, 305 deletions
diff --git a/src/H5Gname.c b/src/H5Gname.c
index 95b85b4..d27428d 100644
--- a/src/H5Gname.c
+++ b/src/H5Gname.c
@@ -26,70 +26,65 @@
/* Module Setup */
/****************/
-#include "H5Gmodule.h" /* This source code file is part of the H5G module */
-
+#include "H5Gmodule.h" /* This source code file is part of the H5G module */
/***********/
/* Headers */
/***********/
-#include "H5private.h" /* Generic Functions */
-#include "H5Dprivate.h" /* Datasets */
-#include "H5Eprivate.h" /* Error handling */
-#include "H5Fprivate.h" /* File access */
-#include "H5FLprivate.h" /* Free Lists */
-#include "H5Gpkg.h" /* Groups */
-#include "H5Iprivate.h" /* IDs */
-#include "H5Lprivate.h" /* Links */
-#include "H5MMprivate.h" /* Memory wrappers */
+#include "H5private.h" /* Generic Functions */
+#include "H5Dprivate.h" /* Datasets */
+#include "H5Eprivate.h" /* Error handling */
+#include "H5Fprivate.h" /* File access */
+#include "H5FLprivate.h" /* Free Lists */
+#include "H5Gpkg.h" /* Groups */
+#include "H5Iprivate.h" /* IDs */
+#include "H5Lprivate.h" /* Links */
+#include "H5MMprivate.h" /* Memory wrappers */
#include "H5VLnative_private.h" /* Native VOL connector */
-
/****************/
/* Local Macros */
/****************/
-
/******************/
/* Local Typedefs */
/******************/
/* Struct used by change name callback function */
typedef struct H5G_names_t {
- H5G_names_op_t op; /* Operation performed on file */
- H5F_t *src_file; /* Top file in src location's mounted file hier. */
- H5RS_str_t *src_full_path_r; /* Source location's full path */
- H5F_t *dst_file; /* Destination location's file */
- H5RS_str_t *dst_full_path_r; /* Destination location's full path */
+ H5G_names_op_t op; /* Operation performed on file */
+ H5F_t * src_file; /* Top file in src location's mounted file hier. */
+ H5RS_str_t * src_full_path_r; /* Source location's full path */
+ H5F_t * dst_file; /* Destination location's file */
+ H5RS_str_t * dst_full_path_r; /* Destination location's full path */
} H5G_names_t;
/* Info to pass to the iteration function when building name */
typedef struct H5G_gnba_iter_t {
/* In */
- const H5O_loc_t *loc; /* The location of the object we're looking for */
+ const H5O_loc_t *loc; /* The location of the object we're looking for */
/* Out */
- char *path; /* Name of the object */
+ char *path; /* Name of the object */
} H5G_gnba_iter_t;
/********************/
/* Package Typedefs */
/********************/
-
/********************/
/* Local Prototypes */
/********************/
-static htri_t H5G__common_path(const H5RS_str_t *fullpath_r, const H5RS_str_t *prefix_r);
+static htri_t H5G__common_path(const H5RS_str_t *fullpath_r, const H5RS_str_t *prefix_r);
static H5RS_str_t *H5G__build_fullpath(const char *prefix, const char *name);
#ifdef NOT_YET
static H5RS_str_t *H5G__build_fullpath_refstr_refstr(const H5RS_str_t *prefix_r, const H5RS_str_t *name_r);
#endif /* NOT_YET */
-static herr_t H5G__name_move_path(H5RS_str_t **path_r_ptr,
- const char *full_suffix, const char *src_path, const char *dst_path);
-static int H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key);
-
+static herr_t H5G__name_move_path(H5RS_str_t **path_r_ptr, const char *full_suffix, const char *src_path,
+ const char *dst_path);
+static int H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key);
/*********************/
/* Package Variables */
@@ -98,18 +93,14 @@ static int H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key);
/* Declare extern the PQ free list for the wrapped strings */
H5FL_BLK_EXTERN(str_buf);
-
/*****************************/
/* Library Private Variables */
/*****************************/
-
/*******************/
/* Local Variables */
/*******************/
-
-
/*-------------------------------------------------------------------------
* Function: H5G__component
*
@@ -142,7 +133,6 @@ H5G__component(const char *name, size_t *size_p)
FUNC_LEAVE_NOAPI(name)
} /* end H5G__component() */
-
/*-------------------------------------------------------------------------
* Function: H5G_normalize
*
@@ -160,10 +150,10 @@ H5G__component(const char *name, size_t *size_p)
char *
H5G_normalize(const char *name)
{
- char *norm; /* Pointer to the normalized string */
- size_t s,d; /* Positions within the strings */
- unsigned last_slash; /* Flag to indicate last character was a slash */
- char *ret_value = NULL; /* Return value */
+ char * norm; /* Pointer to the normalized string */
+ size_t s, d; /* Positions within the strings */
+ unsigned last_slash; /* Flag to indicate last character was a slash */
+ char * ret_value = NULL; /* Return value */
FUNC_ENTER_NOAPI_NOINIT
@@ -171,22 +161,22 @@ H5G_normalize(const char *name)
HDassert(name);
/* Duplicate the name, to return */
- if(NULL == (norm = H5MM_strdup(name)))
- HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for normalized string")
+ if (NULL == (norm = H5MM_strdup(name)))
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for normalized string")
/* Walk through the characters, omitting duplicated '/'s */
- s = d = 0;
+ s = d = 0;
last_slash = 0;
- while(name[s] != '\0') {
- if(name[s] == '/')
- if(last_slash)
+ while (name[s] != '\0') {
+ if (name[s] == '/')
+ if (last_slash)
;
else {
- norm[d++] = name[s];
+ norm[d++] = name[s];
last_slash = 1;
} /* end else */
else {
- norm[d++] = name[s];
+ norm[d++] = name[s];
last_slash = 0;
} /* end else */
s++;
@@ -196,7 +186,7 @@ H5G_normalize(const char *name)
norm[d] = '\0';
/* Check for final '/' on normalized name & eliminate it */
- if(d > 1 && last_slash)
+ if (d > 1 && last_slash)
norm[d - 1] = '\0';
/* Set return value */
@@ -206,7 +196,6 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G_normalize() */
-
/*-------------------------------------------------------------------------
* Function: H5G__common_path
*
@@ -224,37 +213,37 @@ done:
static htri_t
H5G__common_path(const H5RS_str_t *fullpath_r, const H5RS_str_t *prefix_r)
{
- const char *fullpath; /* Pointer to actual fullpath string */
- const char *prefix; /* Pointer to actual prefix string */
- size_t nchars1,nchars2; /* Number of characters in components */
- htri_t ret_value=FALSE; /* Return value */
+ const char *fullpath; /* Pointer to actual fullpath string */
+ const char *prefix; /* Pointer to actual prefix string */
+ size_t nchars1, nchars2; /* Number of characters in components */
+ htri_t ret_value = FALSE; /* Return value */
FUNC_ENTER_STATIC_NOERR
/* Get component of each name */
- fullpath=H5RS_get_str(fullpath_r);
+ fullpath = H5RS_get_str(fullpath_r);
HDassert(fullpath);
- fullpath=H5G__component(fullpath,&nchars1);
+ fullpath = H5G__component(fullpath, &nchars1);
HDassert(fullpath);
- prefix=H5RS_get_str(prefix_r);
+ prefix = H5RS_get_str(prefix_r);
HDassert(prefix);
- prefix=H5G__component(prefix,&nchars2);
+ prefix = H5G__component(prefix, &nchars2);
HDassert(prefix);
/* Check if we have a real string for each component */
- while(*fullpath && *prefix) {
+ while (*fullpath && *prefix) {
/* Check that the components we found are the same length */
- if(nchars1==nchars2) {
+ if (nchars1 == nchars2) {
/* Check that the two components are equal */
- if(HDstrncmp(fullpath,prefix,nchars1)==0) {
+ if (HDstrncmp(fullpath, prefix, nchars1) == 0) {
/* Advance the pointers in the names */
- fullpath+=nchars1;
- prefix+=nchars2;
+ fullpath += nchars1;
+ prefix += nchars2;
/* Get next component of each name */
- fullpath=H5G__component(fullpath,&nchars1);
+ fullpath = H5G__component(fullpath, &nchars1);
HDassert(fullpath);
- prefix=H5G__component(prefix,&nchars2);
+ prefix = H5G__component(prefix, &nchars2);
HDassert(prefix);
} /* end if */
else
@@ -265,14 +254,13 @@ H5G__common_path(const H5RS_str_t *fullpath_r, const H5RS_str_t *prefix_r)
} /* end while */
/* If we reached the end of the prefix path to check, it must be a valid prefix */
- if(*prefix=='\0')
- ret_value=TRUE;
+ if (*prefix == '\0')
+ ret_value = TRUE;
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G__common_path() */
-
/*-------------------------------------------------------------------------
* Function: H5G__build_fullpath
*
@@ -289,12 +277,12 @@ done:
static H5RS_str_t *
H5G__build_fullpath(const char *prefix, const char *name)
{
- char *full_path; /* Full user path built */
- size_t orig_path_len; /* Original length of the path */
- size_t path_len; /* Length of the path */
- size_t name_len; /* Length of the name */
- unsigned need_sep; /* Flag to indicate if separator is needed */
- H5RS_str_t *ret_value = NULL; /* Return value */
+ char * full_path; /* Full user path built */
+ size_t orig_path_len; /* Original length of the path */
+ size_t path_len; /* Length of the path */
+ size_t name_len; /* Length of the name */
+ unsigned need_sep; /* Flag to indicate if separator is needed */
+ H5RS_str_t *ret_value = NULL; /* Return value */
FUNC_ENTER_STATIC
@@ -306,7 +294,7 @@ H5G__build_fullpath(const char *prefix, const char *name)
orig_path_len = path_len = HDstrlen(prefix);
/* Determine if there is a trailing separator in the name */
- if(prefix[path_len - 1] == '/')
+ if (prefix[path_len - 1] == '/')
need_sep = 0;
else
need_sep = 1;
@@ -316,24 +304,23 @@ H5G__build_fullpath(const char *prefix, const char *name)
path_len += name_len + need_sep;
/* Allocate space for the path */
- if(NULL == (full_path = (char *)H5FL_BLK_MALLOC(str_buf, path_len + 1)))
+ if (NULL == (full_path = (char *)H5FL_BLK_MALLOC(str_buf, path_len + 1)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
/* Build full path */
HDstrncpy(full_path, prefix, orig_path_len + 1);
- if(need_sep)
+ if (need_sep)
HDstrncat(full_path, "/", (size_t)1);
HDstrncat(full_path, name, name_len);
/* Create reference counted string for path */
- if(NULL == (ret_value = H5RS_own(full_path)))
+ if (NULL == (ret_value = H5RS_own(full_path)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed")
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G__build_fullpath() */
-
/*-------------------------------------------------------------------------
* Function: H5G_build_fullpath_refstr_str
*
@@ -350,8 +337,8 @@ done:
H5RS_str_t *
H5G_build_fullpath_refstr_str(H5RS_str_t *prefix_r, const char *name)
{
- const char *prefix; /* Pointer to raw string for path */
- H5RS_str_t *ret_value = NULL; /* Return value */
+ const char *prefix; /* Pointer to raw string for path */
+ H5RS_str_t *ret_value = NULL; /* Return value */
FUNC_ENTER_NOAPI_NOINIT_NOERR
@@ -369,7 +356,7 @@ H5G_build_fullpath_refstr_str(H5RS_str_t *prefix_r, const char *name)
} /* end H5G_build_fullpath_refstr_str() */
#ifdef NOT_YET
-
+
/*-------------------------------------------------------------------------
* Function: H5G_name_build_refstr_refstr
*
@@ -387,9 +374,9 @@ H5G_build_fullpath_refstr_str(H5RS_str_t *prefix_r, const char *name)
static H5RS_str_t *
H5G__build_fullpath_refstr_refstr(const H5RS_str_t *prefix_r, const H5RS_str_t *name_r)
{
- const char *prefix; /* Pointer to raw string of prefix */
- const char *name; /* Pointer to raw string of name */
- H5RS_str_t *ret_value; /* Return value */
+ const char *prefix; /* Pointer to raw string of prefix */
+ const char *name; /* Pointer to raw string of name */
+ H5RS_str_t *ret_value; /* Return value */
FUNC_ENTER_STATIC_NOERR
@@ -406,7 +393,6 @@ H5G__build_fullpath_refstr_refstr(const H5RS_str_t *prefix_r, const H5RS_str_t *
} /* end H5G__build_fullpath_refstr_refstr() */
#endif /* NOT_YET */
-
/*-------------------------------------------------------------------------
* Function: H5G__name_init
*
@@ -438,7 +424,6 @@ H5G__name_init(H5G_name_t *name, const char *path)
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5G__name_init() */
-
/*-------------------------------------------------------------------------
* Function: H5G_name_set
*
@@ -455,7 +440,7 @@ H5G__name_init(H5G_name_t *name, const char *path)
herr_t
H5G_name_set(const H5G_name_t *loc, H5G_name_t *obj, const char *name)
{
- herr_t ret_value = SUCCEED;
+ herr_t ret_value = SUCCEED;
FUNC_ENTER_NOAPI(FAIL)
@@ -467,16 +452,16 @@ H5G_name_set(const H5G_name_t *loc, H5G_name_t *obj, const char *name)
H5G_name_free(obj);
/* Create the object's full path, if a full path exists in the location */
- if(loc->full_path_r) {
+ if (loc->full_path_r) {
/* Go build the new full path */
- if((obj->full_path_r = H5G_build_fullpath_refstr_str(loc->full_path_r, name)) == NULL)
+ if ((obj->full_path_r = H5G_build_fullpath_refstr_str(loc->full_path_r, name)) == NULL)
HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build user path name")
} /* end if */
/* Create the object's user path, if a user path exists in the location */
- if(loc->user_path_r) {
+ if (loc->user_path_r) {
/* Go build the new user path */
- if((obj->user_path_r = H5G_build_fullpath_refstr_str(loc->user_path_r, name)) == NULL)
+ if ((obj->user_path_r = H5G_build_fullpath_refstr_str(loc->user_path_r, name)) == NULL)
HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build user path name")
} /* end if */
@@ -484,7 +469,6 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G_name_set() */
-
/*-------------------------------------------------------------------------
* Function: H5G_name_copy
*
@@ -526,10 +510,11 @@ H5G_name_copy(H5G_name_t *dst, const H5G_name_t *src, H5_copy_depth_t depth)
H5MM_memcpy(dst, src, sizeof(H5G_name_t));
/* Deep copy the names */
- if(depth == H5_COPY_DEEP) {
+ if (depth == H5_COPY_DEEP) {
dst->full_path_r = H5RS_dup(src->full_path_r);
dst->user_path_r = H5RS_dup(src->user_path_r);
- } else {
+ }
+ else {
/* Discarding 'const' qualifier OK - QAK */
H5G_name_reset((H5G_name_t *)src);
} /* end if */
@@ -537,7 +522,6 @@ H5G_name_copy(H5G_name_t *dst, const H5G_name_t *src, H5_copy_depth_t depth)
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5G_name_copy() */
-
/*-------------------------------------------------------------------------
* Function: H5G_get_name
*
@@ -554,11 +538,10 @@ H5G_name_copy(H5G_name_t *dst, const H5G_name_t *src, H5_copy_depth_t depth)
*-------------------------------------------------------------------------
*/
ssize_t
-H5G_get_name(const H5G_loc_t *loc, char *name/*out*/, size_t size,
- hbool_t *cached)
+H5G_get_name(const H5G_loc_t *loc, char *name /*out*/, size_t size, hbool_t *cached)
{
- ssize_t len = 0; /* Length of object's name */
- ssize_t ret_value = -1; /* Return value */
+ ssize_t len = 0; /* Length of object's name */
+ ssize_t ret_value = -1; /* Return value */
FUNC_ENTER_NOAPI(FAIL)
@@ -566,28 +549,28 @@ H5G_get_name(const H5G_loc_t *loc, char *name/*out*/, size_t size,
HDassert(loc);
/* If the user path is available and it's not "hidden", use it */
- if(loc->path->user_path_r != NULL && loc->path->obj_hidden == 0) {
+ if (loc->path->user_path_r != NULL && loc->path->obj_hidden == 0) {
len = H5RS_len(loc->path->user_path_r);
- if(name) {
+ if (name) {
HDstrncpy(name, H5RS_get_str(loc->path->user_path_r), MIN((size_t)(len + 1), size));
- if((size_t)len >= size)
+ if ((size_t)len >= size)
name[size - 1] = '\0';
} /* end if */
/* Indicate that the name is cached, if requested */
/* (Currently only used for testing - QAK, 2010/07/26) */
- if(cached)
+ if (cached)
*cached = TRUE;
} /* end if */
- else if(!loc->path->obj_hidden) {
+ else if (!loc->path->obj_hidden) {
/* Search for name of object */
- if((len = H5G_get_name_by_addr(loc->oloc->file, loc->oloc, name, size)) < 0)
+ if ((len = H5G_get_name_by_addr(loc->oloc->file, loc->oloc, name, size)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't determine name")
/* Indicate that the name is _not_ cached, if requested */
/* (Currently only used for testing - QAK, 2010/07/26) */
- if(cached)
+ if (cached)
*cached = FALSE;
} /* end else */
@@ -598,7 +581,6 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G_get_name() */
-
/*-------------------------------------------------------------------------
* Function: H5G_name_reset
*
@@ -626,7 +608,6 @@ H5G_name_reset(H5G_name_t *name)
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5G_name_reset() */
-
/*-------------------------------------------------------------------------
* Function: H5G_name_free
*
@@ -648,11 +629,11 @@ H5G_name_free(H5G_name_t *name)
/* Check args */
HDassert(name);
- if(name->full_path_r) {
+ if (name->full_path_r) {
H5RS_decr(name->full_path_r);
name->full_path_r = NULL;
} /* end if */
- if(name->user_path_r) {
+ if (name->user_path_r) {
H5RS_decr(name->user_path_r);
name->user_path_r = NULL;
} /* end if */
@@ -661,7 +642,6 @@ H5G_name_free(H5G_name_t *name)
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5G_name_free() */
-
/*-------------------------------------------------------------------------
* Function: H5G__name_move_path
*
@@ -677,12 +657,12 @@ H5G_name_free(H5G_name_t *name)
*/
static herr_t
H5G__name_move_path(H5RS_str_t **path_r_ptr, const char *full_suffix, const char *src_path,
- const char *dst_path)
+ const char *dst_path)
{
- const char *path; /* Path to update */
- size_t path_len; /* Length of path */
- size_t full_suffix_len; /* Length of full suffix */
- herr_t ret_value = SUCCEED; /* Return value */
+ const char *path; /* Path to update */
+ size_t path_len; /* Length of path */
+ size_t full_suffix_len; /* Length of full suffix */
+ herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
@@ -698,31 +678,30 @@ H5G__name_move_path(H5RS_str_t **path_r_ptr, const char *full_suffix, const char
/* Check if path needs to be updated */
full_suffix_len = HDstrlen(full_suffix);
- path_len = HDstrlen(path);
- if(full_suffix_len < path_len) {
- const char *dst_suffix; /* Destination suffix that changes */
- size_t dst_suffix_len; /* Length of destination suffix */
- const char *src_suffix; /* Source suffix that changes */
- size_t path_prefix_len; /* Length of path prefix */
- const char *path_prefix2; /* 2nd prefix for path */
- size_t path_prefix2_len; /* Length of 2nd path prefix */
- const char *common_prefix; /* Common prefix for src & dst paths */
- size_t common_prefix_len; /* Length of common prefix */
- char *new_path; /* Pointer to new path */
- size_t new_path_len; /* Length of new path */
-
+ path_len = HDstrlen(path);
+ if (full_suffix_len < path_len) {
+ const char *dst_suffix; /* Destination suffix that changes */
+ size_t dst_suffix_len; /* Length of destination suffix */
+ const char *src_suffix; /* Source suffix that changes */
+ size_t path_prefix_len; /* Length of path prefix */
+ const char *path_prefix2; /* 2nd prefix for path */
+ size_t path_prefix2_len; /* Length of 2nd path prefix */
+ const char *common_prefix; /* Common prefix for src & dst paths */
+ size_t common_prefix_len; /* Length of common prefix */
+ char * new_path; /* Pointer to new path */
+ size_t new_path_len; /* Length of new path */
/* Compute path prefix before full suffix*/
path_prefix_len = path_len - full_suffix_len;
/* Determine the common prefix for src & dst paths */
- common_prefix = src_path;
+ common_prefix = src_path;
common_prefix_len = 0;
/* Find first character that is different */
- while(*(src_path + common_prefix_len) == *(dst_path + common_prefix_len))
+ while (*(src_path + common_prefix_len) == *(dst_path + common_prefix_len))
common_prefix_len++;
/* Back up to previous '/' */
- while(*(common_prefix + common_prefix_len) != '/')
+ while (*(common_prefix + common_prefix_len) != '/')
common_prefix_len--;
/* Include '/' */
common_prefix_len++;
@@ -731,26 +710,26 @@ H5G__name_move_path(H5RS_str_t **path_r_ptr, const char *full_suffix, const char
src_suffix = src_path + (common_prefix_len - 1);
/* Determine destination suffix */
- dst_suffix = dst_path + (common_prefix_len - 1);
+ dst_suffix = dst_path + (common_prefix_len - 1);
dst_suffix_len = HDstrlen(dst_suffix);
/* Compute path prefix before src suffix*/
- path_prefix2 = path;
+ path_prefix2 = path;
path_prefix2_len = path_prefix_len - HDstrlen(src_suffix);
/* Allocate space for the new path */
new_path_len = path_prefix2_len + dst_suffix_len + full_suffix_len;
- if(NULL == (new_path = (char *)H5FL_BLK_MALLOC(str_buf, new_path_len + 1)))
+ if (NULL == (new_path = (char *)H5FL_BLK_MALLOC(str_buf, new_path_len + 1)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
/* Create the new path */
- if(path_prefix2_len > 0) {
+ if (path_prefix2_len > 0) {
HDstrncpy(new_path, path_prefix2, path_prefix2_len + 1);
HDstrncpy(new_path + path_prefix2_len, dst_suffix, dst_suffix_len + 1);
} /* end if */
else
HDstrncpy(new_path, dst_suffix, dst_suffix_len + 1);
- if(full_suffix_len > 0)
+ if (full_suffix_len > 0)
HDstrncat(new_path, full_suffix, full_suffix_len);
/* Release previous path */
@@ -764,7 +743,6 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G__name_move_path() */
-
/*-------------------------------------------------------------------------
* Function: H5G__name_replace_cb
*
@@ -781,35 +759,35 @@ done:
static int
H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
{
- const H5G_names_t *names = (const H5G_names_t *)key; /* Get operation's information */
- H5O_loc_t *oloc; /* Object location for object that the ID refers to */
- H5G_name_t *obj_path; /* Pointer to group hier. path for obj */
- H5F_t *top_obj_file; /* Top file in object's mounted file hier. */
- hbool_t obj_in_child = FALSE; /* Flag to indicate that the object is in the child mount hier. */
- herr_t ret_value = SUCCEED; /* Return value */
+ const H5G_names_t *names = (const H5G_names_t *)key; /* Get operation's information */
+ H5O_loc_t * oloc; /* Object location for object that the ID refers to */
+ H5G_name_t * obj_path; /* Pointer to group hier. path for obj */
+ H5F_t * top_obj_file; /* Top file in object's mounted file hier. */
+ hbool_t obj_in_child = FALSE; /* Flag to indicate that the object is in the child mount hier. */
+ herr_t ret_value = SUCCEED; /* Return value */
FUNC_ENTER_STATIC
HDassert(obj_ptr);
/* Get the symbol table entry */
- switch(H5I_get_type(obj_id)) {
+ switch (H5I_get_type(obj_id)) {
case H5I_GROUP:
- oloc = H5G_oloc((H5G_t *)obj_ptr);
+ oloc = H5G_oloc((H5G_t *)obj_ptr);
obj_path = H5G_nameof((H5G_t *)obj_ptr);
break;
case H5I_DATASET:
- oloc = H5D_oloc((H5D_t *)obj_ptr);
+ oloc = H5D_oloc((H5D_t *)obj_ptr);
obj_path = H5D_nameof((H5D_t *)obj_ptr);
break;
case H5I_DATATYPE:
/* Avoid non-named datatypes */
- if(!H5T_is_named((H5T_t *)obj_ptr))
- HGOTO_DONE(SUCCEED) /* Do not exit search over IDs */
+ if (!H5T_is_named((H5T_t *)obj_ptr))
+ HGOTO_DONE(SUCCEED) /* Do not exit search over IDs */
- oloc = H5T_oloc((H5T_t *)obj_ptr);
+ oloc = H5T_oloc((H5T_t *)obj_ptr);
obj_path = H5T_nameof((H5T_t *)obj_ptr);
break;
@@ -837,60 +815,60 @@ H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
HDassert(obj_path);
/* Check if the object has a full path still */
- if(!obj_path->full_path_r)
- HGOTO_DONE(SUCCEED) /* No need to look at object, it's path is already invalid */
+ if (!obj_path->full_path_r)
+ HGOTO_DONE(SUCCEED) /* No need to look at object, it's path is already invalid */
/* Find the top file in object's mount hier. */
- if(H5F_PARENT(oloc->file)) {
+ if (H5F_PARENT(oloc->file)) {
/* Check if object is in child file (for mount & unmount operations) */
- if(names->dst_file && H5F_SAME_SHARED(oloc->file, names->dst_file))
+ if (names->dst_file && H5F_SAME_SHARED(oloc->file, names->dst_file))
obj_in_child = TRUE;
/* Find the "top" file in the chain of mounted files */
top_obj_file = H5F_PARENT(oloc->file);
- while(H5F_PARENT(top_obj_file) != NULL) {
+ while (H5F_PARENT(top_obj_file) != NULL) {
/* Check if object is in child mount hier. (for mount & unmount operations) */
- if(names->dst_file && H5F_SAME_SHARED(top_obj_file, names->dst_file))
+ if (names->dst_file && H5F_SAME_SHARED(top_obj_file, names->dst_file))
obj_in_child = TRUE;
top_obj_file = H5F_PARENT(top_obj_file);
} /* end while */
- } /* end if */
+ } /* end if */
else
top_obj_file = oloc->file;
/* Check if object is in top of child mount hier. (for mount & unmount operations) */
- if(names->dst_file && H5F_SAME_SHARED(top_obj_file, names->dst_file))
+ if (names->dst_file && H5F_SAME_SHARED(top_obj_file, names->dst_file))
obj_in_child = TRUE;
/* Check if the object is in same file mount hier. */
- if(!H5F_SAME_SHARED(top_obj_file, names->src_file))
- HGOTO_DONE(SUCCEED) /* No need to look at object, it's path is already invalid */
+ if (!H5F_SAME_SHARED(top_obj_file, names->src_file))
+ HGOTO_DONE(SUCCEED) /* No need to look at object, it's path is already invalid */
- switch(names->op) {
+ switch (names->op) {
/*-------------------------------------------------------------------------
* H5G_NAME_MOUNT
*-------------------------------------------------------------------------
*/
case H5G_NAME_MOUNT:
/* Check if object is in child mount hier. */
- if(obj_in_child) {
- const char *full_path; /* Full path of current object */
- const char *src_path; /* Full path of source object */
- size_t src_path_len; /* Length of source full path */
- char *new_full_path; /* New full path of object */
- size_t new_full_len; /* Length of new full path */
+ if (obj_in_child) {
+ const char *full_path; /* Full path of current object */
+ const char *src_path; /* Full path of source object */
+ size_t src_path_len; /* Length of source full path */
+ char * new_full_path; /* New full path of object */
+ size_t new_full_len; /* Length of new full path */
/* Get pointers to paths of interest */
- full_path = H5RS_get_str(obj_path->full_path_r);
- src_path = H5RS_get_str(names->src_full_path_r);
+ full_path = H5RS_get_str(obj_path->full_path_r);
+ src_path = H5RS_get_str(names->src_full_path_r);
src_path_len = HDstrlen(src_path);
/* Build new full path */
/* Allocate space for the new full path */
new_full_len = src_path_len + HDstrlen(full_path);
- if(NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, new_full_len + 1)))
+ if (NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, new_full_len + 1)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
/* Create the new full path */
@@ -907,12 +885,12 @@ H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
else {
/* Check if the source is along the entry's path */
/* (But not actually the entry itself) */
- if(H5G__common_path(obj_path->full_path_r, names->src_full_path_r) &&
- H5RS_cmp(obj_path->full_path_r, names->src_full_path_r)) {
+ if (H5G__common_path(obj_path->full_path_r, names->src_full_path_r) &&
+ H5RS_cmp(obj_path->full_path_r, names->src_full_path_r)) {
/* Hide the user path */
(obj_path->obj_hidden)++;
} /* end if */
- } /* end else */
+ } /* end else */
break;
/*-------------------------------------------------------------------------
@@ -920,25 +898,25 @@ H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
*-------------------------------------------------------------------------
*/
case H5G_NAME_UNMOUNT:
- if(obj_in_child) {
- const char *full_path; /* Full path of current object */
- const char *full_suffix; /* Full path after source path */
- size_t full_suffix_len; /* Length of full path after source path */
- const char *src_path; /* Full path of source object */
- char *new_full_path; /* New full path of object */
+ if (obj_in_child) {
+ const char *full_path; /* Full path of current object */
+ const char *full_suffix; /* Full path after source path */
+ size_t full_suffix_len; /* Length of full path after source path */
+ const char *src_path; /* Full path of source object */
+ char * new_full_path; /* New full path of object */
/* Get pointers to paths of interest */
full_path = H5RS_get_str(obj_path->full_path_r);
- src_path = H5RS_get_str(names->src_full_path_r);
+ src_path = H5RS_get_str(names->src_full_path_r);
/* Construct full path suffix */
- full_suffix = full_path + HDstrlen(src_path);
+ full_suffix = full_path + HDstrlen(src_path);
full_suffix_len = HDstrlen(full_suffix);
/* Build new full path */
/* Create the new full path */
- if(NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, full_suffix_len + 1)))
+ if (NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, full_suffix_len + 1)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
HDstrncpy(new_full_path, full_suffix, full_suffix_len + 1);
@@ -949,20 +927,21 @@ H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
obj_path->full_path_r = H5RS_own(new_full_path);
/* Check if the object's user path should be invalidated */
- if(obj_path->user_path_r && HDstrlen(new_full_path) < (size_t)H5RS_len(obj_path->user_path_r)) {
+ if (obj_path->user_path_r &&
+ HDstrlen(new_full_path) < (size_t)H5RS_len(obj_path->user_path_r)) {
/* Free user path */
H5RS_decr(obj_path->user_path_r);
obj_path->user_path_r = NULL;
} /* end if */
- } /* end if */
+ } /* end if */
else {
/* Check if file being unmounted was hiding the object */
- if(H5G__common_path(obj_path->full_path_r, names->src_full_path_r) &&
- H5RS_cmp(obj_path->full_path_r, names->src_full_path_r)) {
+ if (H5G__common_path(obj_path->full_path_r, names->src_full_path_r) &&
+ H5RS_cmp(obj_path->full_path_r, names->src_full_path_r)) {
/* Un-hide the user path */
(obj_path->obj_hidden)--;
} /* end if */
- } /* end else */
+ } /* end else */
break;
/*-------------------------------------------------------------------------
@@ -971,7 +950,7 @@ H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
*/
case H5G_NAME_DELETE:
/* Check if the location being unlinked is in the path for the current object */
- if(H5G__common_path(obj_path->full_path_r, names->src_full_path_r)) {
+ if (H5G__common_path(obj_path->full_path_r, names->src_full_path_r)) {
/* Free paths for object */
H5G_name_free(obj_path);
} /* end if */
@@ -983,23 +962,23 @@ H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
*/
case H5G_NAME_MOVE: /* Link move case, check for relative names case */
/* Check if the src object moved is in the current object's path */
- if(H5G__common_path(obj_path->full_path_r, names->src_full_path_r)) {
- const char *full_path; /* Full path of current object */
- const char *full_suffix; /* Suffix of full path, after src_path */
- size_t full_suffix_len; /* Length of suffix of full path after src_path*/
- char *new_full_path; /* New full path of object */
- size_t new_full_len; /* Length of new full path */
- const char *src_path; /* Full path of source object */
- const char *dst_path; /* Full path of destination object */
- size_t dst_path_len; /* Length of destination's full path */
+ if (H5G__common_path(obj_path->full_path_r, names->src_full_path_r)) {
+ const char *full_path; /* Full path of current object */
+ const char *full_suffix; /* Suffix of full path, after src_path */
+ size_t full_suffix_len; /* Length of suffix of full path after src_path*/
+ char * new_full_path; /* New full path of object */
+ size_t new_full_len; /* Length of new full path */
+ const char *src_path; /* Full path of source object */
+ const char *dst_path; /* Full path of destination object */
+ size_t dst_path_len; /* Length of destination's full path */
/* Sanity check */
HDassert(names->dst_full_path_r);
/* Get pointers to paths of interest */
- full_path = H5RS_get_str(obj_path->full_path_r);
- src_path = H5RS_get_str(names->src_full_path_r);
- dst_path = H5RS_get_str(names->dst_full_path_r);
+ full_path = H5RS_get_str(obj_path->full_path_r);
+ src_path = H5RS_get_str(names->src_full_path_r);
+ dst_path = H5RS_get_str(names->dst_full_path_r);
dst_path_len = HDstrlen(dst_path);
/* Make certain that the source and destination names are full (not relative) paths */
@@ -1007,19 +986,19 @@ H5G__name_replace_cb(void *obj_ptr, hid_t obj_id, void *key)
HDassert(*dst_path == '/');
/* Get pointer to "full suffix" */
- full_suffix = full_path + HDstrlen(src_path);
+ full_suffix = full_path + HDstrlen(src_path);
full_suffix_len = HDstrlen(full_suffix);
/* Update the user path, if one exists */
- if(obj_path->user_path_r)
- if(H5G__name_move_path(&(obj_path->user_path_r), full_suffix, src_path, dst_path) < 0)
+ if (obj_path->user_path_r)
+ if (H5G__name_move_path(&(obj_path->user_path_r), full_suffix, src_path, dst_path) < 0)
HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build user path name")
/* Build new full path */
/* Allocate space for the new full path */
new_full_len = dst_path_len + full_suffix_len;
- if(NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, new_full_len + 1)))
+ if (NULL == (new_full_path = (char *)H5FL_BLK_MALLOC(str_buf, new_full_len + 1)))
HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
/* Create the new full path */
@@ -1042,7 +1021,6 @@ done:
FUNC_LEAVE_NOAPI(ret_value);
} /* end H5G__name_replace_cb() */
-
/*-------------------------------------------------------------------------
* Function: H5G_name_replace
*
@@ -1062,8 +1040,8 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5G_name_replace(const H5O_link_t *lnk, H5G_names_op_t op, H5F_t *src_file,
- H5RS_str_t *src_full_path_r, H5F_t *dst_file, H5RS_str_t *dst_full_path_r)
+H5G_name_replace(const H5O_link_t *lnk, H5G_names_op_t op, H5F_t *src_file, H5RS_str_t *src_full_path_r,
+ H5F_t *dst_file, H5RS_str_t *dst_full_path_r)
{
herr_t ret_value = SUCCEED;
@@ -1073,56 +1051,56 @@ H5G_name_replace(const H5O_link_t *lnk, H5G_names_op_t op, H5F_t *src_file,
HDassert(src_file);
/* Check if the object we are manipulating has a path */
- if(src_full_path_r) {
- hbool_t search_group = FALSE; /* Flag to indicate that groups are to be searched */
- hbool_t search_dataset = FALSE; /* Flag to indicate that datasets are to be searched */
+ if (src_full_path_r) {
+ hbool_t search_group = FALSE; /* Flag to indicate that groups are to be searched */
+ hbool_t search_dataset = FALSE; /* Flag to indicate that datasets are to be searched */
hbool_t search_datatype = FALSE; /* Flag to indicate that datatypes are to be searched */
/* Check for particular link to operate on */
- if(lnk) {
+ if (lnk) {
/* Look up the object type for each type of link */
- switch(lnk->type) {
- case H5L_TYPE_HARD:
- {
- H5O_loc_t tmp_oloc; /* Temporary object location */
- H5O_type_t obj_type; /* Type of object at location */
-
- /* Build temporary object location */
- tmp_oloc.file = src_file;
- tmp_oloc.addr = lnk->u.hard.addr;
-
- /* Get the type of the object */
- if(H5O_obj_type(&tmp_oloc, &obj_type) < 0)
- HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get object type")
-
- /* Determine which type of objects to operate on */
- switch(obj_type) {
- case H5O_TYPE_GROUP:
- /* Search and replace names through group IDs */
- search_group = TRUE;
- break;
-
- case H5O_TYPE_DATASET:
- /* Search and replace names through dataset IDs */
- search_dataset = TRUE;
- break;
-
- case H5O_TYPE_NAMED_DATATYPE:
- /* Search and replace names through datatype IDs */
- search_datatype = TRUE;
- break;
-
- case H5O_TYPE_MAP:
- HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, FAIL, "maps not supported in native VOL connector")
-
- case H5O_TYPE_UNKNOWN:
- case H5O_TYPE_NTYPES:
- /* Search and replace names through datatype IDs */
- default:
- HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, FAIL, "not valid object type")
- } /* end switch */
- } /* end case */
- break;
+ switch (lnk->type) {
+ case H5L_TYPE_HARD: {
+ H5O_loc_t tmp_oloc; /* Temporary object location */
+ H5O_type_t obj_type; /* Type of object at location */
+
+ /* Build temporary object location */
+ tmp_oloc.file = src_file;
+ tmp_oloc.addr = lnk->u.hard.addr;
+
+ /* Get the type of the object */
+ if (H5O_obj_type(&tmp_oloc, &obj_type) < 0)
+ HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get object type")
+
+ /* Determine which type of objects to operate on */
+ switch (obj_type) {
+ case H5O_TYPE_GROUP:
+ /* Search and replace names through group IDs */
+ search_group = TRUE;
+ break;
+
+ case H5O_TYPE_DATASET:
+ /* Search and replace names through dataset IDs */
+ search_dataset = TRUE;
+ break;
+
+ case H5O_TYPE_NAMED_DATATYPE:
+ /* Search and replace names through datatype IDs */
+ search_datatype = TRUE;
+ break;
+
+ case H5O_TYPE_MAP:
+ HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, FAIL,
+ "maps not supported in native VOL connector")
+
+ case H5O_TYPE_UNKNOWN:
+ case H5O_TYPE_NTYPES:
+ /* Search and replace names through datatype IDs */
+ default:
+ HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, FAIL, "not valid object type")
+ } /* end switch */
+ } /* end case */
+ break;
case H5L_TYPE_SOFT:
/* Symbolic links might resolve to any object, so we need to search all IDs */
@@ -1132,10 +1110,10 @@ H5G_name_replace(const H5O_link_t *lnk, H5G_names_op_t op, H5F_t *src_file,
case H5L_TYPE_ERROR:
case H5L_TYPE_EXTERNAL:
case H5L_TYPE_MAX:
- default: /* User-defined link */
+ default: /* User-defined link */
/* Check for unknown library-defined link type */
- if(lnk->type < H5L_TYPE_UD_MIN)
- HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "unknown link type")
+ if (lnk->type < H5L_TYPE_UD_MIN)
+ HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "unknown link type")
/* User-defined & external links automatically wipe out
* names (because it would be too much work to track them),
@@ -1143,49 +1121,48 @@ H5G_name_replace(const H5O_link_t *lnk, H5G_names_op_t op, H5F_t *src_file,
*/
break;
} /* end switch */
- } /* end if */
+ } /* end if */
else {
/* We pass NULL as link pointer when we need to search all IDs */
search_group = search_dataset = search_datatype = TRUE;
}
/* Check if we need to operate on the objects affected */
- if(search_group || search_dataset || search_datatype) {
- H5G_names_t names; /* Structure to hold operation information for callback */
+ if (search_group || search_dataset || search_datatype) {
+ H5G_names_t names; /* Structure to hold operation information for callback */
/* Find top file in src location's mount hierarchy */
- while(H5F_PARENT(src_file))
+ while (H5F_PARENT(src_file))
src_file = H5F_PARENT(src_file);
/* Set up common information for callback */
- names.src_file = src_file;
- names.src_full_path_r = src_full_path_r;
- names.dst_file = dst_file;
- names.dst_full_path_r = dst_full_path_r;
- names.op = op;
+ names.src_file = src_file;
+ names.src_full_path_r = src_full_path_r;
+ names.dst_file = dst_file;
+ names.dst_full_path_r = dst_full_path_r;
+ names.op = op;
/* Search through group IDs */
- if(search_group)
- if(H5I_iterate(H5I_GROUP, H5G__name_replace_cb, &names, FALSE) < 0)
+ if (search_group)
+ if (H5I_iterate(H5I_GROUP, H5G__name_replace_cb, &names, FALSE) < 0)
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over groups")
/* Search through dataset IDs */
- if(search_dataset)
- if(H5I_iterate(H5I_DATASET, H5G__name_replace_cb, &names, FALSE) < 0)
+ if (search_dataset)
+ if (H5I_iterate(H5I_DATASET, H5G__name_replace_cb, &names, FALSE) < 0)
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over datasets")
/* Search through datatype IDs */
- if(search_datatype)
- if(H5I_iterate(H5I_DATATYPE, H5G__name_replace_cb, &names, FALSE) < 0)
+ if (search_datatype)
+ if (H5I_iterate(H5I_DATATYPE, H5G__name_replace_cb, &names, FALSE) < 0)
HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over datatypes")
} /* end if */
- } /* end if */
+ } /* end if */
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G_name_replace() */
-
/*-------------------------------------------------------------------------
* Function: H5G__get_name_by_addr_cb
*
@@ -1201,15 +1178,14 @@ done:
*-------------------------------------------------------------------------
*/
static herr_t
-H5G__get_name_by_addr_cb(hid_t gid, const char *path, const H5L_info2_t *linfo,
- void *_udata)
+H5G__get_name_by_addr_cb(hid_t gid, const char *path, const H5L_info2_t *linfo, void *_udata)
{
H5G_gnba_iter_t *udata = (H5G_gnba_iter_t *)_udata; /* User data for iteration */
- H5G_loc_t obj_loc; /* Location of object */
- H5G_name_t obj_path; /* Object's group hier. path */
- H5O_loc_t obj_oloc; /* Object's object location */
- hbool_t obj_found = FALSE; /* Object at 'path' found */
- herr_t ret_value = H5_ITER_CONT; /* Return value */
+ H5G_loc_t obj_loc; /* Location of object */
+ H5G_name_t obj_path; /* Object's group hier. path */
+ H5O_loc_t obj_oloc; /* Object's object location */
+ hbool_t obj_found = FALSE; /* Object at 'path' found */
+ herr_t ret_value = H5_ITER_CONT; /* Return value */
FUNC_ENTER_STATIC
@@ -1220,18 +1196,18 @@ H5G__get_name_by_addr_cb(hid_t gid, const char *path, const H5L_info2_t *linfo,
HDassert(udata->path == NULL);
/* Check for hard link with correct address */
- if(linfo->type == H5L_TYPE_HARD) {
+ if (linfo->type == H5L_TYPE_HARD) {
haddr_t link_addr;
/* Retrieve hard link address from VOL token */
- if(H5VL_native_token_to_addr(udata->loc->file, H5I_FILE, linfo->u.token, &link_addr) < 0)
+ if (H5VL_native_token_to_addr(udata->loc->file, H5I_FILE, linfo->u.token, &link_addr) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTUNSERIALIZE, FAIL, "can't deserialize object token into address")
- if(udata->loc->addr == link_addr) {
- H5G_loc_t grp_loc; /* Location of group */
+ if (udata->loc->addr == link_addr) {
+ H5G_loc_t grp_loc; /* Location of group */
/* Get group's location */
- if(H5G_loc(gid, &grp_loc) < 0)
+ if (H5G_loc(gid, &grp_loc) < 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5_ITER_ERROR, "bad group location")
/* Set up opened object location to fill in */
@@ -1240,30 +1216,29 @@ H5G__get_name_by_addr_cb(hid_t gid, const char *path, const H5L_info2_t *linfo,
H5G_loc_reset(&obj_loc);
/* Find the object */
- if(H5G_loc_find(&grp_loc, path, &obj_loc/*out*/) < 0)
+ if (H5G_loc_find(&grp_loc, path, &obj_loc /*out*/) < 0)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, H5_ITER_ERROR, "object not found")
obj_found = TRUE;
/* Check for object in same file (handles mounted files) */
/* (re-verify address, in case we traversed a file mount) */
- if(udata->loc->addr == obj_loc.oloc->addr && udata->loc->file == obj_loc.oloc->file) {
- if(NULL == (udata->path = H5MM_strdup(path)))
+ if (udata->loc->addr == obj_loc.oloc->addr && udata->loc->file == obj_loc.oloc->file) {
+ if (NULL == (udata->path = H5MM_strdup(path)))
HGOTO_ERROR(H5E_SYM, H5E_CANTALLOC, H5_ITER_ERROR, "can't duplicate path string")
/* We found a match so we return immediately */
HGOTO_DONE(H5_ITER_STOP)
} /* end if */
- } /* end if */
- } /* end if */
+ } /* end if */
+ } /* end if */
done:
- if(obj_found && H5G_loc_free(&obj_loc) < 0)
+ if (obj_found && H5G_loc_free(&obj_loc) < 0)
HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, H5_ITER_ERROR, "can't free location")
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G__get_name_by_addr_cb() */
-
/*-------------------------------------------------------------------------
* Function: H5G_get_name_by_addr
*
@@ -1283,11 +1258,11 @@ done:
ssize_t
H5G_get_name_by_addr(H5F_t *f, const H5O_loc_t *loc, char *name, size_t size)
{
- H5G_gnba_iter_t udata; /* User data for iteration */
- H5G_loc_t root_loc; /* Root group's location */
- hbool_t found_obj = FALSE; /* If we found the object */
- herr_t status; /* Status from iteration */
- ssize_t ret_value = -1; /* Return value */
+ H5G_gnba_iter_t udata; /* User data for iteration */
+ H5G_loc_t root_loc; /* Root group's location */
+ hbool_t found_obj = FALSE; /* If we found the object */
+ herr_t status; /* Status from iteration */
+ ssize_t ret_value = -1; /* Return value */
/* Portably clear udata struct (before FUNC_ENTER) */
HDmemset(&udata, 0, sizeof(udata));
@@ -1295,44 +1270,45 @@ H5G_get_name_by_addr(H5F_t *f, const H5O_loc_t *loc, char *name, size_t size)
FUNC_ENTER_NOAPI((-1))
/* Construct a group location for root group of the file */
- if(H5G_root_loc(f, &root_loc) < 0)
+ if (H5G_root_loc(f, &root_loc) < 0)
HGOTO_ERROR(H5E_SYM, H5E_CANTGET, (-1), "can't get root group's location")
/* Check for root group being the object looked for */
- if(root_loc.oloc->addr == loc->addr && root_loc.oloc->file == loc->file) {
- if(NULL == (udata.path = H5MM_strdup("")))
+ if (root_loc.oloc->addr == loc->addr && root_loc.oloc->file == loc->file) {
+ if (NULL == (udata.path = H5MM_strdup("")))
HGOTO_ERROR(H5E_SYM, H5E_CANTALLOC, (-1), "can't duplicate path string")
found_obj = TRUE;
} /* end if */
else {
/* Set up user data for iterator */
- udata.loc = loc;
+ udata.loc = loc;
udata.path = NULL;
/* Visit all the links in the file */
- if((status = H5G_visit(&root_loc, "/", H5_INDEX_NAME, H5_ITER_NATIVE, H5G__get_name_by_addr_cb, &udata)) < 0)
+ if ((status = H5G_visit(&root_loc, "/", H5_INDEX_NAME, H5_ITER_NATIVE, H5G__get_name_by_addr_cb,
+ &udata)) < 0)
HGOTO_ERROR(H5E_SYM, H5E_BADITER, (-1), "group traversal failed while looking for object name")
- else if(status > 0)
+ else if (status > 0)
found_obj = TRUE;
} /* end else */
/* Check for finding the object */
- if(found_obj) {
+ if (found_obj) {
/* Set the length of the full path */
- ret_value = (ssize_t)(HDstrlen(udata.path) + 1); /* Length of path + 1 (for "/") */
+ ret_value = (ssize_t)(HDstrlen(udata.path) + 1); /* Length of path + 1 (for "/") */
/* If there's a buffer provided, copy into it, up to the limit of its size */
- if(name) {
+ if (name) {
/* Copy the initial path separator */
HDstrncpy(name, "/", (size_t)2);
/* Append the rest of the path */
/* (less one character, for the initial path separator) */
HDstrncat(name, udata.path, (size - 2));
- if((size_t)ret_value >= size)
+ if ((size_t)ret_value >= size)
name[size - 1] = '\0';
} /* end if */
- } /* end if */
+ } /* end if */
else
ret_value = 0;
@@ -1342,4 +1318,3 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5G_get_name_by_addr() */
-