diff --git a/src/H5Part.c b/src/H5Part.c index dfe8160..96d8ea0 100644 --- a/src/H5Part.c +++ b/src/H5Part.c @@ -1603,6 +1603,7 @@ _H5Part_set_step ( "%s#%0*lld", f->groupname_step, f->stepno_width, (long long) step ); } + if ( (f->mode != H5PART_READ) && _H5Part_have_group ( f->file, name ) ) { return HANDLE_H5PART_STEP_EXISTS_ERR ( step ); } @@ -1717,11 +1718,8 @@ _H5Part_iteration_operator ( if ( data->type != H5G_UNKNOWN ) { #if H5_VERS_MAJOR == 1 && H5_VERS_MINOR == 8 H5O_info_t objinfo; - hid_t member_id; - member_id = H5Gopen2 ( group_id, member_name, H5P_DEFAULT ); - herr = H5Oget_info ( member_id, &objinfo ); + herr = H5Oget_info ( group_id, &objinfo ); if ( herr < 0 ) return (herr_t)HANDLE_H5G_GET_OBJINFO_ERR ( member_name ); - H5Gclose (member_id); #else H5G_stat_t objinfo; herr = H5Gget_objinfo ( group_id, member_name, 1, &objinfo ); diff --git a/src/H5Part.h b/src/H5Part.h index 667d3f8..a0b2b91 100644 --- a/src/H5Part.h +++ b/src/H5Part.h @@ -14,7 +14,7 @@ extern "C" { #include "H5PartTypes.h" - +/* error values */ #define H5PART_SUCCESS 0 #define H5PART_ERR_NOMEM -12 #define H5PART_ERR_INVAL -22 @@ -26,15 +26,23 @@ extern "C" { #define H5PART_ERR_MPI -300 #define H5PART_ERR_HDF5 -400 -/* flags used during file open */ +/* file open flags */ #define H5PART_READ 0x01 #define H5PART_WRITE 0x02 #define H5PART_APPEND 0x04 -#define H5PART_VFD_MPIPOSIX 0x08 -#define H5PART_FS_LUSTRE 0x10 -#define H5PART_FS_GPFS 0x20 +#define H5PART_VFD_MPIPOSIX 0x08 +#define H5PART_FS_LUSTRE 0x10 +#define H5PART_FS_GPFS 0x20 +/* verbosity level flags */ +#define H5PART_VERB_NONE 0 +#define H5PART_VERB_ERROR 1 +#define H5PART_VERB_WARN 2 +#define H5PART_VERB_INFO 3 +#define H5PART_VERB_DEBUG 4 +#define H5PART_VERB_DETAIL 5 +/* data types */ #define H5PART_INT64 ((h5part_int64_t)H5T_NATIVE_INT64) #define H5PART_FLOAT64 ((h5part_int64_t)H5T_NATIVE_DOUBLE) #define H5PART_FLOAT32 ((h5part_int64_t)H5T_NATIVE_FLOAT)