diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/h5_elink_unix2win.c | 26 | ||||
-rw-r--r-- | examples/h5_extlink.c | 10 |
2 files changed, 18 insertions, 18 deletions
diff --git a/examples/h5_elink_unix2win.c b/examples/h5_elink_unix2win.c index 7266347..b4998fd 100644 --- a/examples/h5_elink_unix2win.c +++ b/examples/h5_elink_unix2win.c @@ -41,13 +41,11 @@ static hid_t elink_unix2win_trav(const char *link_name, hid_t cur_group, void * udata, size_t udata_size, hid_t lapl_id) { hid_t fid; - char *file_name; - hbool_t fname_alloc = 0; /* Whether file_name has been allocated */ + char *file_name = NULL; char *obj_name; + char *elink_prefix; /* External link prefix */ char *new_fname = NULL; /* Buffer allocated to hold Unix file path */ size_t fname_len; - htri_t result; - size_t buf_size; /* Size prefix buffer */ size_t start_pos; /* Initial position in new_fname buffer */ size_t x; /* Counter variable */ hid_t ret_value = -1; @@ -59,25 +57,25 @@ static hid_t elink_unix2win_trav(const char *link_name, hid_t cur_group, void * fname_len = strlen(file_name); /* See if the external link prefix property is set */ - if((result = H5Pexist(lapl_id, H5L_ELINK_PREFIX_PROP)) < 0) + if(H5Pget_elink_prefix(lapl_id, &elink_prefix) < 0) goto error; /* If so, prepend it to the filename. We assume that the prefix * is in the correct format for the current file system. */ - if(result > 0) + if(elink_prefix != NULL) { - if(H5Pget_size(lapl_id, H5L_ELINK_PREFIX_PROP, &buf_size) < 0) - goto error; + size_t buf_size; /* Size prefix buffer */ + + buf_size = strlen(elink_prefix); /* Allocate a buffer to hold the filename plus prefix */ new_fname = malloc(buf_size + fname_len + 1); /* Copy the prefix into the buffer */ - if(H5Pget(lapl_id, H5L_ELINK_PREFIX_PROP, new_fname) < 0) - goto error; + strcpy(new_fname, elink_prefix); - start_pos = buf_size - 1; + start_pos = buf_size; } else { @@ -105,8 +103,10 @@ static hid_t elink_unix2win_trav(const char *link_name, hid_t cur_group, void * if(H5Fclose(fid) < 0) goto error; - /* Free file_name if it's been allocated */ - if(fname_alloc) + /* Free file names if they've been allocated */ + if(new_fname) + free(new_fname); + if(file_name) free(file_name); return ret_value; diff --git a/examples/h5_extlink.c b/examples/h5_extlink.c index edf7609..33cac8e 100644 --- a/examples/h5_extlink.c +++ b/examples/h5_extlink.c @@ -50,7 +50,7 @@ * Creates two files and uses an external link to access an object in the * second file from the first file. */ -void extlink_example() +void extlink_example(void) { hid_t source_file_id, targ_file_id; hid_t group_id, group2_id; @@ -110,7 +110,7 @@ void extlink_example() * where it is run (so to run this example on Unix, first mkdir red and mkdir * blue). */ -void extlink_prefix_example() +void extlink_prefix_example(void) { hid_t source_file_id, red_file_id, blue_file_id; hid_t group_id, group2_id; @@ -210,7 +210,7 @@ void extlink_prefix_example() */ static hid_t UD_soft_traverse(const char *link_name, hid_t cur_group, void *udata, size_t udata_size, hid_t lapl_id); -void soft_link_example() +void soft_link_example(void) { hid_t file_id; hid_t group_id; @@ -308,7 +308,7 @@ static herr_t UD_hard_create(const char *link_name, hid_t loc_group, void *udata static herr_t UD_hard_delete(const char *link_name, hid_t loc_group, void *udata, size_t udata_size); static hid_t UD_hard_traverse(const char *link_name, hid_t cur_group, void *udata, size_t udata_size, hid_t lapl_id); -void hard_link_example() +void hard_link_example(void) { hid_t file_id; hid_t group_id; @@ -521,7 +521,7 @@ static hid_t UD_hard_traverse(const char *link_name, hid_t cur_group, void * uda */ static hid_t UD_plist_traverse(const char *link_name, hid_t cur_group, void *udata, size_t udata_size, hid_t lapl_id); -void plist_link_example() +void plist_link_example(void) { hid_t file_id; hid_t group_id, group2_id; |